You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ri...@apache.org on 2006/11/18 15:22:47 UTC

svn commit: r476527 - /incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/transaction/ServerTransactionInterceptor.java

Author: rickmcguire
Date: Sat Nov 18 06:22:47 2006
New Revision: 476527

URL: http://svn.apache.org/viewvc?view=rev&rev=476527
Log:
OPENEJB-335 Objects activated on CORBABean rootPOA cannot have methods invoked.


Modified:
    incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/transaction/ServerTransactionInterceptor.java

Modified: incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/transaction/ServerTransactionInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/transaction/ServerTransactionInterceptor.java?view=diff&rev=476527&r1=476526&r2=476527
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/transaction/ServerTransactionInterceptor.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/transaction/ServerTransactionInterceptor.java Sat Nov 18 06:22:47 2006
@@ -32,11 +32,13 @@
 
     public void receive_request(ServerRequestInfo serverRequestInfo) throws ForwardRequest {
        ServerTransactionPolicy policy = (ServerTransactionPolicy) serverRequestInfo.get_server_policy(ServerTransactionPolicyFactory.POLICY_TYPE);
-        if (policy == null) {
-            throw new INTERNAL("No transaction policy configured");
+       // it's possible for applications to obtain the orb instance using "java:comp/ORB" and then
+       // use the rootPOA to activate an object.  If that happens, then we're not going to see a
+       // transaction policy on the request.  Just ignore any request that doesn't have one.
+        if (policy != null) {
+            ServerTransactionPolicyConfig serverTransactionPolicyConfig = policy.getServerTransactionPolicyConfig();
+            serverTransactionPolicyConfig.importTransaction(serverRequestInfo);
         }
-        ServerTransactionPolicyConfig serverTransactionPolicyConfig = policy.getServerTransactionPolicyConfig();
-        serverTransactionPolicyConfig.importTransaction(serverRequestInfo);
     }
 
     public void receive_request_service_contexts(ServerRequestInfo ri) throws ForwardRequest {