Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

alma::acs::container::corba::AcsCorbaTest Class Reference

Collaboration diagram for alma::acs::container::corba::AcsCorbaTest:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void testComponentPOALifecycleSync () throws Exception
void __dontrun__testComponentPOALifecycleAsync () throws Exception
void testPOAConfig () throws Exception

Protected Member Functions

void setUp () throws Exception
void tearDown () throws Exception

Private Member Functions

void _testComponentPOALifecycle (boolean destroyWhileBusy, int iterations) throws Exception

Private Attributes

Logger m_logger
AcsCorba acsCorba
volatile Throwable exceptionInThread

Detailed Description

Tests alma.acs.container.corba.AcsCorba and related usage of ORB and POAs. Runs without any ACS background support.

Author:
hsommer


Member Function Documentation

void alma::acs::container::corba::AcsCorbaTest::__dontrun__testComponentPOALifecycleAsync  )  throws Exception [inline]
 

This test method is currently hidden from JUnit because it fails with JacORB 1.4. and 2.2.4. Problem: RequestController#waitForCompletion returns immediately when currently processing calls are local. This could be related to JacORB bug 132, see http://www.jacorb.org/cgi-bin/bugzilla/show_bug.cgi?id=132.
TODO: try again when the Java ORB gets updated or replaced in ACS.

Activates / deactivates a component 10 times, each time calling a method that still runs while its POA is getting deactivated. This is to check the container's ability to wait for currently processing requests to terminate, before cleanUp is called on the component.

The component is run outside a container, but with the same ORB/POA usage as inside the container.

Exceptions:
Exception 

void alma::acs::container::corba::AcsCorbaTest::_testComponentPOALifecycle boolean  destroyWhileBusy,
int  iterations
throws Exception [inline, private]
 

This test method can also be used to experiment with

Parameters:
destroyWhileBusy 
iterations 
Exceptions:
Exception 

void alma::acs::container::corba::AcsCorbaTest::setUp  )  throws Exception [inline, protected]
 

void alma::acs::container::corba::AcsCorbaTest::tearDown  )  throws Exception [inline, protected]
 

void alma::acs::container::corba::AcsCorbaTest::testComponentPOALifecycleSync  )  throws Exception [inline]
 

Activates / deactivates a component 1000 times. The component is run outside a container, but with the same ORB/POA usage as inside the container.

For each iteration,

  1. component POA is created
  2. component implementation is created as the servant for our POA
  3. servant activator ComponentServantManager is created and registered with POA
  4. component is activated through component POA
  5. synchronous call to component method DummyComponentImpl#dummyComponentsCanDoCloseToNothing() over CORBA.
  6. synchronous call to component method DummyComponentImpl#callThatTakesSomeTime(int) with zero waiting time over CORBA.
  7. call to org.jacorb.poa.POA#destroy(boolean, boolean) with etherialize_objects==true and wait_for_completion==false.
  8. wait for component etherialization using ComponentServantManager#waitForEtherealize(int).

This method should be seen as a suggestion for the Java container to implement component deactivation.

Exceptions:
Exception 
See also:
_testComponentPOALifecycle(boolean, int)

void alma::acs::container::corba::AcsCorbaTest::testPOAConfig  )  throws Exception [inline]
 


Member Data Documentation

AcsCorba alma::acs::container::corba::AcsCorbaTest::acsCorba [private]
 

volatile Throwable alma::acs::container::corba::AcsCorbaTest::exceptionInThread [private]
 

Logger alma::acs::container::corba::AcsCorbaTest::m_logger [private]
 


The documentation for this class was generated from the following file:
Generated on Thu Apr 30 02:52:34 2009 for ACS Java API by doxygen 1.3.8