org.jboss.system
Class ORBSingleton

java.lang.Object
  extended by org.omg.CORBA.ORB
      extended by org.omg.CORBA_2_3.ORB
          extended by org.jboss.system.ORBSingleton

public class ORBSingleton
extends ORB

Thin wrapper class that fulfills the contract of an ORB singleton and forwards every invocation to an instance of the actual ORB singleton class, which it loads with the context classloader. The name of the actual ORB singleton class is specified by the system property org.jboss.ORBSingletonDelegate.

This class is a workaround to the the following problem: unlike the Sun VMs, IBM VMs do not use the context classloader to load the ORB singleton class specified by the system property org.omg.CORBA.ORBSingletonClass. IBM VMs use the system classloader, thus requiring the ORB singleton class to be in the system classpath. Rather than adding a third-party jar file (e.g. jacorb.jar) to the system classpath, we include this class in run.jar. Instead of setting the system property

     org.omg.CORBA.ORBSingletonClass=some.orb.impl.ORBSingletonImpl
 
we set two properties:
     org.omg.CORBA.ORBSingletonClass=org.jboss.system.ORBSingleton
     org.jboss.ORBSingletonDelegate=some.orb.impl.ORBSingletonImpl
 

This class should be removed when IBM fixes its VMs.

Version:
$Revision: 1.4.6.1 $
Author:
Francisco Reverbel

Field Summary
static String DELEGATE_CLASS_KEY
          System property key that specifies the actual ORB singleton class.
 
Constructor Summary
ORBSingleton()
          The ORBSingleton constructor does what the IBM VM does not do: it uses the context classloader to load the actual ORB singleton class.
 
Method Summary
 TypeCode create_abstract_interface_tc(String id, String name)
           
 TypeCode create_alias_tc(String id, String name, TypeCode original_type)
           
 Any create_any()
           
 TypeCode create_array_tc(int length, TypeCode element_type)
           
 ContextList create_context_list()
           
 TypeCode create_enum_tc(String id, String name, String[] members)
           
 Environment create_environment()
           
 ExceptionList create_exception_list()
           
 TypeCode create_exception_tc(String id, String name, StructMember[] members)
           
 TypeCode create_fixed_tc(short digits, short scale)
           
 TypeCode create_interface_tc(String id, String name)
           
 NVList create_list(int count)
           
 NamedValue create_named_value(String name, Any value, int flags)
           
 TypeCode create_native_tc(String id, String name)
           
 NVList create_operation_list(Object obj)
           
 OutputStream create_output_stream()
           
 TypeCode create_recursive_sequence_tc(int bound, int offset)
          Deprecated. Deprecated by CORBA 2.3.
 TypeCode create_recursive_tc(String id)
           
 TypeCode create_sequence_tc(int bound, TypeCode element_type)
           
 TypeCode create_string_tc(int bound)
           
 TypeCode create_struct_tc(String id, String name, StructMember[] members)
           
 TypeCode create_union_tc(String id, String name, TypeCode discriminator_type, UnionMember[] members)
           
 TypeCode create_value_box_tc(String id, String name, TypeCode boxed_type)
           
 TypeCode create_value_tc(String id, String name, short type_modifier, TypeCode concrete_base, ValueMember[] members)
           
 TypeCode create_wstring_tc(int bound)
           
 Current get_current()
          Deprecated. Deprecated by CORBA 2.3.
 Context get_default_context()
           
 Request get_next_response()
           
 TypeCode get_primitive_tc(TCKind tcKind)
           
 String[] list_initial_services()
           
 String object_to_string(Object obj)
           
 void perform_work()
           
 boolean poll_next_response()
           
 Object resolve_initial_references(String identifier)
           
 void run()
           
 void send_multiple_requests_deferred(Request[] req)
           
 void send_multiple_requests_oneway(Request[] req)
           
protected  void set_parameters(Applet app, Properties props)
           
protected  void set_parameters(String[] args, Properties props)
           
 void shutdown(boolean wait_for_completion)
           
 Object string_to_object(String str)
           
 boolean work_pending()
           
 
Methods inherited from class org.omg.CORBA_2_3.ORB
get_value_def, lookup_value_factory, register_value_factory, set_delegate, unregister_value_factory
 
Methods inherited from class org.omg.CORBA.ORB
connect, create_basic_dyn_any, create_dyn_any, create_dyn_array, create_dyn_enum, create_dyn_sequence, create_dyn_struct, create_dyn_union, create_policy, destroy, disconnect, get_service_information, init, init, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DELEGATE_CLASS_KEY

public static String DELEGATE_CLASS_KEY
System property key that specifies the actual ORB singleton class.

Constructor Detail

ORBSingleton

public ORBSingleton()
The ORBSingleton constructor does what the IBM VM does not do: it uses the context classloader to load the actual ORB singleton class.

Method Detail

create_any

public Any create_any()
Specified by:
create_any in class ORB

create_alias_tc

public TypeCode create_alias_tc(String id,
                                String name,
                                TypeCode original_type)
Specified by:
create_alias_tc in class ORB

create_array_tc

public TypeCode create_array_tc(int length,
                                TypeCode element_type)
Specified by:
create_array_tc in class ORB

create_enum_tc

public TypeCode create_enum_tc(String id,
                               String name,
                               String[] members)
Specified by:
create_enum_tc in class ORB

create_exception_tc

public TypeCode create_exception_tc(String id,
                                    String name,
                                    StructMember[] members)
Specified by:
create_exception_tc in class ORB

create_interface_tc

public TypeCode create_interface_tc(String id,
                                    String name)
Specified by:
create_interface_tc in class ORB

create_fixed_tc

public TypeCode create_fixed_tc(short digits,
                                short scale)
Overrides:
create_fixed_tc in class ORB

create_recursive_tc

public TypeCode create_recursive_tc(String id)
Overrides:
create_recursive_tc in class ORB

create_recursive_sequence_tc

public TypeCode create_recursive_sequence_tc(int bound,
                                             int offset)
Deprecated. Deprecated by CORBA 2.3.

Specified by:
create_recursive_sequence_tc in class ORB

create_sequence_tc

public TypeCode create_sequence_tc(int bound,
                                   TypeCode element_type)
Specified by:
create_sequence_tc in class ORB

create_string_tc

public TypeCode create_string_tc(int bound)
Specified by:
create_string_tc in class ORB

create_wstring_tc

public TypeCode create_wstring_tc(int bound)
Specified by:
create_wstring_tc in class ORB

create_struct_tc

public TypeCode create_struct_tc(String id,
                                 String name,
                                 StructMember[] members)
Specified by:
create_struct_tc in class ORB

create_union_tc

public TypeCode create_union_tc(String id,
                                String name,
                                TypeCode discriminator_type,
                                UnionMember[] members)
Specified by:
create_union_tc in class ORB

get_primitive_tc

public TypeCode get_primitive_tc(TCKind tcKind)
Specified by:
get_primitive_tc in class ORB

create_value_tc

public TypeCode create_value_tc(String id,
                                String name,
                                short type_modifier,
                                TypeCode concrete_base,
                                ValueMember[] members)
Overrides:
create_value_tc in class ORB

create_value_box_tc

public TypeCode create_value_box_tc(String id,
                                    String name,
                                    TypeCode boxed_type)
Overrides:
create_value_box_tc in class ORB

create_abstract_interface_tc

public TypeCode create_abstract_interface_tc(String id,
                                             String name)
Overrides:
create_abstract_interface_tc in class ORB

create_native_tc

public TypeCode create_native_tc(String id,
                                 String name)
Overrides:
create_native_tc in class ORB

create_exception_list

public ExceptionList create_exception_list()
Specified by:
create_exception_list in class ORB

create_list

public NVList create_list(int count)
Specified by:
create_list in class ORB

create_named_value

public NamedValue create_named_value(String name,
                                     Any value,
                                     int flags)
Specified by:
create_named_value in class ORB

create_operation_list

public NVList create_operation_list(Object obj)
Overrides:
create_operation_list in class ORB

string_to_object

public Object string_to_object(String str)
Specified by:
string_to_object in class ORB

create_environment

public Environment create_environment()
Specified by:
create_environment in class ORB

create_context_list

public ContextList create_context_list()
Specified by:
create_context_list in class ORB

create_output_stream

public OutputStream create_output_stream()
Specified by:
create_output_stream in class ORB

get_current

public Current get_current()
Deprecated. Deprecated by CORBA 2.3.

Overrides:
get_current in class ORB

get_default_context

public Context get_default_context()
Specified by:
get_default_context in class ORB

get_next_response

public Request get_next_response()
Specified by:
get_next_response in class ORB

list_initial_services

public String[] list_initial_services()
Specified by:
list_initial_services in class ORB

object_to_string

public String object_to_string(Object obj)
Specified by:
object_to_string in class ORB

poll_next_response

public boolean poll_next_response()
Specified by:
poll_next_response in class ORB

resolve_initial_references

public Object resolve_initial_references(String identifier)
                                  throws InvalidName
Specified by:
resolve_initial_references in class ORB
Throws:
InvalidName

send_multiple_requests_deferred

public void send_multiple_requests_deferred(Request[] req)
Specified by:
send_multiple_requests_deferred in class ORB

send_multiple_requests_oneway

public void send_multiple_requests_oneway(Request[] req)
Specified by:
send_multiple_requests_oneway in class ORB

set_parameters

protected void set_parameters(String[] args,
                              Properties props)
Specified by:
set_parameters in class ORB

set_parameters

protected void set_parameters(Applet app,
                              Properties props)
Specified by:
set_parameters in class ORB

run

public void run()
Overrides:
run in class ORB

shutdown

public void shutdown(boolean wait_for_completion)
Overrides:
shutdown in class ORB

work_pending

public boolean work_pending()
Overrides:
work_pending in class ORB

perform_work

public void perform_work()
Overrides:
perform_work in class ORB


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.