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

Inheritance diagram for alma::acs::container::corba::AcsCorbaTest:
Inheritance graph
[legend]
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 

References _testComponentPOALifecycle().

void alma::acs::container::corba::AcsCorbaTest::_testComponentPOALifecycle ( boolean  destroyWhileBusy,
int  iterations 
) throws Exception [inline, private]
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)

References _testComponentPOALifecycle().

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

Member Data Documentation


The documentation for this class was generated from the following file:

Generated by  doxygen 1.6.2