Back to Main Page
The changes made to JacORB are listed below according to JacORB release
version number. Please note that bug fixes are listed on the
JacORB Fixed Bugs page.
3.0.0.0
- ORB
-
Removed
finalize
from Delegate to improve performance and scalability. Client code is now responsible for calling _release
on CORBA Objects as necessary (JAC#741).
-
Fix so the optimised key cache will auto-switch off for both client and server if it detects an older jacorb version (JAC#690).
-
Added
jacorb.key.cacheSize
property to allow the optimised key cache to be configured and improved purging algorithms (JAC#656).
-
Enhanced
disableServiceContextNegotiation
property to disable on both client and server side (and fixed its spelling) (JAC#656).
-
Removed sync from
GIOPConnection.getTransport
to fix deadlock with callback issue (JAC#649).
-
Enhancement to implement the correct use of portable interceptors when dealing with local calls, including the handling of ForwardRequests (JAC#647).
-
Added dummy implementation of
Delegate::_get_component
, which returns null (JAC#645).
-
Enhancement to add the
jacorb.enableNullString
option to marshall null strings (JAC#639).
-
An implementation of the
Object::create_request
operation has been added with an exception list (JAC#631).
-
Fix for NullPointer access in
org.jacorb.orb.Delegate
(JAC#772).
-
Allow OAIAddr to be specified when using PortRangeSocketFactory (JAC#629).
-
Split
jacorb.disableServiceContextNegotiatation
into a separate property from jacorb.interop.comet
(JAC#577).
-
Added
Object._get_component ()
to OMG stub code from OMG 03-01-02 (JAC#489).
-
JacORB now implements the Endorsed Standards Override Mechanism as described in http://java.sun.com/j2se/1.5.0/docs/guide/standards/index.html (RTJ#736).
- POA
-
Modified AOMRemovalThread to shutdown on POA destruction (JAC#696).
- IDL Compiler
-
An enhancement has been made to the idl compiler to implement the correct use of portable interceptors when dealing with local calls (JAC#647). idl generated code must be recompiled as the idl compiler changes will now cause failures for cases involving local objects and portable interceptors. This is because:
-
The
SEND_REPLY
or SEND_EXCEPTION
points on the server side will not get called if a call is invoked on a local server. This will result in a BAD_INV_ORDER exception when trying to access attributes that are not available because the call status has not been set to send_reply
or send_exception
.
-
If a ForwardRequest is thrown from
servant_previnoke
(and so the ServantObject is null) a CORBA.UNKNOWN exception will be thrown with the message "local invocations not supported";.
-
Some interception points will not get called, as described above and also at the RECEIVE stages on the client side if an invocation is made to a local servant.
-
Enhancement to the IDL compiler to generate a
toString ()
implementation for Union types (JAC#643).
-
Enhancement to ant
JacIDL
task to pass sloppyidentifiers and i2jpackagefile through, add error checking and add comments to generated code to silence Eclipse warnings (JAC#608).
- Bug fixes
- ORB
-
Fix for profile selection in bind/rebind for group IOR (IOGR) (JAC-62).
-
Fix to propagate objectId to ServerRequestInfo for local calls.
-
Fix for non-configured CDRInputStream when created with an ORBSingleton (JAC#703).
-
Fix to ensure that current contexts are added and cleared correctly when handling embedded calls (JAC#685).
-
Change to ensure that the REQUEST_DURATION_POLICY timeout is not overwritten if an interceptor makes an embedded invocation (JAC#677).
-
Fix so that the idl compiler detects bounds violations for the string type (JAC#676).
-
Change to request handling to ensure that Relative Roundtrip Timeout will bound the entire user invocation including any transparent re-invocations following LOCATION_FORWARD or other retryable exception conditions and also embedded invocations (JAC#670).
-
Fixed delegate bind issue to prevent cached object delegate being set to null (JAC#663).
-
Fixed a memory leak in Delegate
pending_replies
if an error happens when reading the reply (JAC#662).
-
Fix for Current overwriting in local calls between Client/ServerRequestInfo (JAC#660).
- Fix to reduce the number of threads created when deactivating an object;
backport-util-concurrent.jar
has been added and should be used when the JDK is pre 1.5 (JAC#652).
-
Fix for attribute setting of the
jacorb.security.ssl.client.protocols
and jacorb.security.ssl.server.protocols
properties (JAC#651).
-
Fix for
POA::reference_to_id
error checking (JAC#646).
-
Fixed a memory leak in ObjectKeyMap (JAC#642).
-
Fix for NullPointerException within Delegate when multiple threads call release (JAC#630).
-
Workaround fix for InterruptedIOException in IIOPListener from LogKit and native code (JAC#622).
-
Fix for OpenFusion Naming Service hang when the service is stopped and started several times (JAC#609).
-
Fix for initialising the ORB with properties to avoid a
java.lang.ClassCastException
(JAC#600).
-
Fixed issue where a JacORB client does not interact with a reference in a JacORB server after the server becomes active again and the reference is forwarded from an agent (JAC#574).
-
Fixes for rebind behaviour with location forwards/transients (JAC#574 / JAC#579).
-
Fixes for BiDirectional GIOP and SSL (JAC#563).
- IDL Compiler
-
Fixes for IDL compiler with
genEnhanced
and char sequence. (JAC#617).
-
Fixes for DynUnion.to_any () (JAC#590).
-
Fixes for IDL compiler union discriminators (JAC#581).
-
Fixes for IDL compiler struct/typedef/array compilation outside of modules (JAC#572).
- Tools
-
Fixed issue on Windows where values are not escaped in jaco.bat (JAC#605).
- ImR
-
Fixed an issue that was preventing JacORB servers from registering with the TAO ImR when the TAO ImR runs on a little endian machine (JAC#681).
-
Fixed an issue where creating a persistent POA with an already active POA manager instance causes duplicate registrations with the ImR (JAC#680).
2.3.0.3
- Bug fixes
- ORB
- Fixed issue where a Repositoryid using pragma prefix with more than 1 space before id caused an idl compiler parse error.
- Property
jacorb.connection.server.reuse_address
added. This enables the socket option for SO_REUSEADDR. Default is off (JAC#567).
- Property
jacorb.dns.eager_resolve
added. If on, allows eager, rather than lazy, dns resolution. Default is on (JAC#542).
- Change default of compactTypecodes to be off (no compaction) (JAC#536).
- Added property
jacorb.imr.passIORcomponent
to ensure that IOR components are also used for registration with the ImR (JAC#531).
- Fixed issue to move access to requestController outside synchronised block to prevent a deadlock (JAC#519).
- Fixed issue where exceptions during AMI did not work if the IDL was specified with pragma prefix (JAC#511).
- IDL Compiler
- Enhance generation to null delegate objects (JAC#555).
- Enhancement to allow the
toString
method on idl generated Struct stubs to print out the contents of a 2 dimensional array (JAC#550).
- Documentation
- Added section about the usage of corbaloc in conjunction with SSL enabled servers (JAC#486).
2.3.0.2
- Bug fixes
- ORB
- Changed set_policy_overrides to match 4.3.9.1 of the CORBA 3.0 specification (JAC#493)
- Fixed logging initialisation error in ExceptionHolder (JAC#492)
- Fixed marshalling error: found indirection marker, but no corresponding original typecode (JAC#445)
- IDL
- Fixed an issue in generated code when extracting a sequence from an any (JAC#491)
- Changed generated stub code so that rmi repository id is skipped for idl defined valuetypes (JAC#449)
- Fixed codeset support: enabling utf8 did not have an effect (JAC#461)
- Fixed an issue where holder classes for user-defined exceptions weren't generated (JAC#480)
2.3.0.1
- Bug fixes
- ORB
- Fixes for stream closure with sync scope none.
- Fix possible race condition with the value factory hashmap.
- Let POA.reference_to_servant raise BAD_PARAM if a null reference is passed in (JAC#415).
- Fix that allows custom SocketFactory class plugins to specify their dependency on the ORB either as org.jacorb.orb.ORB or org.omg.CORBA.ORB in their constructor (JAC#417).
- Fix for bug during logfile initialisation routine that caused the creation of multiple empty logfiles (JAC#384).
- Fix for broken socket connect timeout mechanism (JAC#375).
- Fixed wstring valuetype interoperability issue with the sun orb (JAC#352).
- Provided an implementation for org.omg.CORBA.ValueBaseHelper (JAC#444).
- IR
- Fix to allow IDL files that use #pragma prefix to be loaded into the IR (JAC#367).
- IDL
- Added -sloppy_identifiers to permit certain illegal identifiers (JAC#441)
- Removed -omg option and replaced it with i2jpackage in idl/build.xml (JAC#72 and JAC#98).
- Native types with pragma prefix org.omg were not processed properly (RTJ#519)
2.3.0.0
IDL
- optimized generated code when using octet sequences.
- The IDL compiler can now generate DII stubs, using the new option "-diistub".
Tools
- Updated 'dior' utility to decode realtime policies.
Security
- SecurityLevel 2 and IAIK support removed.
Documentation
- Enhanced description of configuration properties.
- Improved SSL documentation.
Logging
- singleton ORB uses a logfile if the property jacorb.logfile is set.
General
- JacORB now supports IPv6.
- removed scalability bottleneck due to superflous synchronization.
2.1.3.3
- Bug fixes
- ORB
- Fix for synchronization with Codeset conversion buffers.
- Any: use TypeCode.equivalent() instead of TypeCode.equal() in equal() as per specification.
- Any: fix extract_string(), extract_wstring(), didn't account for value being insterted as a stream.
- CDRStreams: fixed support for repeated typecodes.
- fix for POA dispatching with transient objects.
- use new Socket API to specify timeouts during Socket.connect
instead of using our own timeout implementation.
- IDL
- use Any.insert_Value/extract_Value in Helpers for boxed valuetypes.
- fixed invalid handling of forward decl of CORBA::TypeCode.
- improved JacIDL Ant task initialisation.
- fix for valuetype inheritance.
- fix for boxed valuetype with sequences generation.
- fix for the inclusion of the CORBA valuetypes StringValue and WStringValue.
- fixes for line number output and error messages from compiler.
- General
- CDC builds now include Java dummy classes to prevent class not found errors.
- ORB
- Minor performance improvement for enhanced_thread_name.
- CDRStream typecode marshaling cleaned up.
- Any: added better support for Streamable values.
- Added org.jacorb.orb.factory.FixedAddressSocketFactory that binds client sockets to the address specified by the property "OAIAddr".
- Logging additions for debugging.
- Minor enhancement to allow release of client receptor thireads in callback situations not using Bidirectional Policy.
- IDL
- Use any speed accessors like insert_long/extract_long in Helper classes for aliased basetypes.
- Enhance comment in idl generated classes.
- ImR
- Add option so that ImR can be remotely shutdown.
2.1.3.2
- Bug fixes
- ORB
- Fix for TCP event notification.
- Correct SSL listener API.
- Fix when writing RMI value types.
- Improved JDK13 compatability for SSLListener.
- Fix for timeout overrides.
- Fix for threadpool thread count.
- Fix for deadlock within ReplyReceiver.
- Fix for DynamicAny to_any.
- Fix for invoking an operation when the ORB has been destroyed.
- Fix for iteration during shutdown.
- ImR
- Fixes for Servers with multiple POAs.
- Fixes for shutdown.
- IDL
- Improve generation for IDL exceptions.
- ORB
- enhanced TCP and SSL logging information by also providing local IP
address and port.
- Change to API for SSLSessionEvent to receive and provide cause of Exception. SSL logging also to provide exception cause.
- optimizations for interceptors within Delegate.
- Added AcceptorExceptionListener for notifications by the
serversocket acceptor thread. NOTE: The default behaviour now is
to shutdown the ORB whenever an Error or SSLException is thrown
by accept() It will only shutdown for SSLExceptions on the first invocations of
accept (). This property may be turned off. See the Acceptor Exception Event Plugin
paragraph under section 3.3 Configuration Properties of the JacORB
ProgrammingGuide.pdf
- Added new configuration property:
jacorb.enhanced_thread_name
to allow additional information to be added temporarily to the Thread name
- Documentation
- Removed IDL compiler from JavaDoc generation.
- Improved command line and property documentation.
2.1.3.1
- Bug fixes
- General
- ORB
- Fix memory leaks.
- Fix recursive typecode bug.
- Allow ORBInitializer reinitialization.
- Fix to CDROutputStream to cater for object replacement.
- Improve protocol/IOR rebind handling.
- Fix for deadlock within threadpool.
- Fix OutOfMemory issue when decoding invalid IORs.
- Fix for context key optimization with ORB timeouts.
- Fix for client interceptor send_request forward exception detection and proporgation.
- Fix for is_local determination from interceptors.
- Fix for profile selection with target_requires of NoProtection.
- Fix for interceptors service context propogation.
- Fix for interceptor multithreading and exception handling.
- POA
- Fix creating and destroying POAs using single thread model.
- IDL
- Fixed Union typecode generation bug.
- Fix typedef bounded string generation bug.
- Fix when generating using -ir and -i2jpackage.
- Fix to remove ObjectHelper class generation.
- Interface Repository
- Fix for class names for loading.
- ORB
- Improved performance.
- Support for client protocol properties added.
- Pass SystemException message back in ExceptionDetailMessage service context.
- new property: jacorb.orb_initializer.fail_on_error. Control if errors
caused by an ORBInitializer will make ORB.init() fail or not.
- new property: jacorb.listener.server_socket_timeout. This is a
workaround for Java bug #4344135 and is only useful in conjunction
with the SI&C SSL socket factories.
- new properties: jacorb.connection.client.max_idle_receptor_threads,
jacorb.connection.client.max_receptor_threads,
jacorb.connection.server.max_idle_receptor_threads and
jacorb.connection.server.max_receptor_threads to limit the threadpools
used for client and server side connections.
- new property: jacorb.ignoreComponentInfoProfiles. This forces JacORB to ignore
all codeset component info profiles.
- new properties: jacorb.connection.server.keepalive and
jacorb.connection.client.keepalive to configure TCP KeepAlive on sockets.
- new properties: jacorb.net.tcp_listener and jacorb.security.ssl.ssl_listener for
specifying the respective listener interfaces to receive event notifications.
- Pass SystemException message back in ExceptionDetailMessage service context.
- POA
- new property: jacorb.poa.thread_pool_shared. This is to share a
single thread pool amongst all the POAs.
- IMR
- Added support for failover across subnets using the new properties
jacorb.imr.identifier and jacorb.imr.other_imrs.
- IDL
- Add option (-genEnhanced) to generate toString/equals on stubs. Only implemented
in StructType so far.
- Security
- new property: jacorb.security.randomClassPlugin. Used by developers to plugin their
own SecureRandom initialisation.
- Change to improve information returned by SSLSessionEvent.
- Documentation
- Added chapter on threads to Programming Guide.
- Enhanced logging documentation.
2.1.3
- Bug fixes
- POA
- Fix usage of implname with transient and persistent servers.
- ORB
- Improve typecode error checking.
- Fix issue with with multiple SSL servers on same host.
- IDL
- Improve error checking in compiler.
- ORB
- Enhance Any equals for value comparison.
- DynValue idl added.
- IDL
- Documentation
- Improve property documentation.
- General
- Removed Appligator as no longer supported.
2.1.2
- Bug fixes
- General
- Fix compilation timing issue.
- ORB
- Add COMET interop service context fix.
- Fix OutOfMemory issue when parsing invalid IORs.
- ORB
- There is a new property jacorb.connection.client.connect_timeout,
which specifies a timeout for the initial TCP/IP connection attempt.
- Removed property jacorb.security.change_ssl_roles and the
associated "Change SSL Roles" feature.
- The new property jacorb.poa.check_reply_end_time specifies
whether any ReplyEndTimePolicy (or RelativeRoundtripTimeoutPolicy)
should also be checked on the server side. This requires that
the clocks of the client and server machine are synchronized to
the same order of magnitude as the timeout. The default for
this property is off, unlike previous releases, where this check
was always done.
- IDL
- Added detail to idl -v output.
- IDL compiler has a new option -in <file> with which it will accept
files that do not end in ".idl"
2.1.1
- Bug fixes
- ORB
- Fix for BiDir connections and BAD_INV_ORDER exceptions.
- Fix for ServantActivators and local invocations.
- Fix for reading boolean arrays.
- IDL Compiler
- Tolerate whitespace in #include.
- General
- Fix hexdump logging.
- Improve property documentation.
- ORB
- Added property to disable client orb policies for performance.
2.1
- bug fixes
- ORB
- Fix for recursive assertion with cached typecodes.
- Fix for create_operation_list.
- Fix for marshalling of embedded valuetypes.
- Fix BiDir service context setting on non-bidir connections.
- Connection management problem that resulted in hanging clients.
- Server-side memory leaks (456/458).
- Incompatibility with libraries in existing J2SDK 1.4 installations ("endorsed dir").
- IDL Compiler
- Fix for ValueType generation.
- Fix for ami_callback module packaging and file inclusion.
- General
- Fix logging ORB initialisation and category handling.
- Corrections to exception handling.
- Fix Java Mapping.
- ORB
- Implementation of the ORB PolicyManager interface to set QoS policies ORB-wide.
- CDR 1.2 Portable Interceptor codec.
- Added codeset negotiation.
- Removed jacorb.timestamp (now handled by jacorb.log.default.log_pattern).
- Added WrongTransaction to idl.
- Added DIOP IOR decoding ability.
- Performance Improvements.
- You can now use IORInterceptors to add new profiles to IORs
(rather than just adding components to profiles that were
created by the ORB). To achieve this, the IORInfo object
that is passed to IORInterceptors now implements a special
JacORB interface, org.jacorb.orb.portableInterceptors.IORInfoExt.
This interface provides methods to look up existing profiles
and add new ones to an IOR.
- Rename property jacorb.connection.server_timeout to jacorb.connection.server.timeout, for consistency.
- Added property "jacorb.connection.client.timeout_ignores_pending_messages"
which controls if client-side idle timeouts take care of
pending messages or not.
- Added property "jacorb.connection.client.retry_on_failure"
which controls if network failures on existing connections
should yield a COMM_FAILURE or should trigger a remarshaling
of all pending messages.
- POA
-
Added synchronization to the POAManager public methods (JAC#752).
- IDL Compiler
- Removed deprecated option -i.
- "-cldc10" option to generate J2ME/CLDC1.0 compatible stub code.
- new option -unchecked_narrow.
- Logging
- Better structured logger name spaces.
- InterfaceRepository
- Documentation and initialisation improvements.
- IMR
- Documentation
- Updated and merged JacIDL HTML into ProgrammingGuide.
- Updated logging component descriptions.
2.0 beta
- ORB
- All QoS timing policies are implemented.
- SyncScopePolicy is implemented.
- The transport layer now conforms to the draft of the
Extensible Transport Framework (ETF, mars/2003-02-01)
(see Programming Guide for details).
- Two new properties, jacorb.poa.queue_wait and
jacorb.poa.queue_min allow the server to block when the
request queue is full.
- Fix for generation of some basic type sequence holders.
- Added server-side connection management
(see programming
guide).
- Added support for GIOP CloseConnection messages.
- Two new properties, jacorb.poa.queue_wait and
jacorb.poa.queue_min allow the server to block when the
request queue is full.
- Added port range server socket factory support.
- Logging
- Added property 'jacorb.logfile.maxLogSize' to support rolling logs.
- IDL Compiler
- Fixed inheritance error (bug 345).
- Now using the Apache logkit loggin API.
Top