axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Veithen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-4753) Make EJBUtil multi-thread aware
Date Sat, 26 Jun 2010 09:36:50 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-4753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882829#action_12882829
] 

Andreas Veithen commented on AXIS2-4753:
----------------------------------------

Indeed, by executing the lookup code in a different thread, the security context is lost.
Probably this is desired in some use cases, but unfortunately there is no documentation that
explains exactly why this has been coded like that (the code seems to have been ported from
Axis1).

> Make EJBUtil multi-thread aware
> -------------------------------
>
>                 Key: AXIS2-4753
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4753
>             Project: Axis2
>          Issue Type: Improvement
>          Components: databinding
>    Affects Versions: 1.5.1
>         Environment: WebLogic
>            Reporter: William Walsh
>
> We found that we had problems integrating Axis2 with WebLogic in that we couldn't re-use
any of the EJB receiver code apparently because the security established at InitialContext
creation (org.apache.axis2.rpc.receivers.ejb.EJBUtil) was then lost when org.apache.axis2.rpc.receivers.ejb.EJBUtil.EJBClientWorker
invoked its run method in a separate thread for the EJB service, causing a WebLogic security
error invoking the service.  We checked with Oracle and they feel it's most likely that the
separate threads are the cause as WLS doesn't pass/propagate subjects across threads.  Thus
the second thread that does the actual invocation of the service doesn't have the authentication
done in the first thread when the InitialContext is created, which is successfully validated
by our login module.
> We coded our own receiver to avoid this additional threading—essentially duplicating
the Axis2 functionality.  I've been told that for EJB environments that threading should not
be  used, leaving it to the container environment to manage.
> ----
> Had confirmation from Martin Gainty and request to open this JIRA case:
> "
> yep the statics of EJBUtil will not work in a multi-threaded environment as seen here
>  
> public class EJBUtil {
>     public static final java.lang.String EJB_JNDI_NAME = "beanJndiName";
> "

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message