Local Beans in a Cluster

Is it possible to use EJB2.0 Local Interface EJBs in a cluster?
If so, what happens when clients on two different servers attempt to access the
same entity bean?

Even when not using Local Interfaces, Weblogic (by default) will prefer to
use a co-located bean rather than make an inter-JVM call. Depending on your
EJB concurrency strategy, you can have a number of bean instances for the
same EJB data - and the database handles the concurrency. It is usually
cheaper to instantiate a local instance of the bean than make and inter-JVM
call (this is especially so when it comes to coordinating transactions and
the extra network traffic negotiating a 2PC commit). This is the default
concurrency strategy and the default cluster behaviour for WLS as of 6.0.
So, the short answer is that it will use a local instantiation of the entity
bean - and the database will handle the concurrency.
-Nick
"David Roytenberg" <[email protected]> wrote in message
news:[email protected]..
>
Is it possible to use EJB2.0 Local Interface EJBs in a cluster?
If so, what happens when clients on two different servers attempt toaccess the
same entity bean?

Similar Messages

  • Error during processing local bean: localejbs/RfcAFBean

    Hi everybody
    we currently trying to perform a RFC Call to our developpment system. The scenario is a simple File to RFC Scenario and it worked until yesterday. Since today the Messages stuck in the RFC receiver Adapter with the following errors in the audit log:
    MP: exception caught with cause com.sap.engine.services.ejb.exceptions.BaseTransactionRolledbackLocalException: Exception thrown in method process. The transaction is marked for rollback.
    Exception caught by adapter framework: Exception thrown in method process. The transaction is marked for rollback.
    Delivery of the message to the application using connection RFC_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Exception thrown in method process. The transaction is marked for rollback.: com.sap.engine.services.ejb.exceptions.BaseTransactionRolledbackLocalException: Exception thrown in method process. The transaction is marked for rollback..
    The deffaultTrace.trc show the following entries. Looks like an error in localejbs/RfcAFBean:
    RfcFunctionName:ZPSCD_INTERFACE_XXXXX
    Date : 07/13/2007
    Time : 9:32:39:301
    Message : 
    [EXCEPTION]
    com.sap.engine.services.ejb.exceptions.BaseTransactionRolledbackLocalException: Exception thrown in method process. The transaction is marked for rollback.
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_0.process(ModuleLocalLocalObjectImpl0_0.java:118)
         at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:264)
         at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0.process(ModuleProcessorLocalLocalObjectImpl0_0.java:103)
         at com.sap.aii.af.listener.AFWListenerBean.onMessage(AFWListenerBean.java:267)
         at com.sap.aii.af.listener.AFWListenerLocalObjectImpl0_0.onMessage(AFWListenerLocalObjectImpl0_0.java:103)
         at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:306)
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:1034)
         at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.invokeHandler(ReceiveConsumer.java:392)
         at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.onMessage(ReceiveConsumer.java:86)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:848)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: java.lang.NoSuchMethodError: com.sap.aii.af.rfc.core.config.RfcConfigManager.isPPActive(Lcom/sap/aii/af/service/cpa/Channel;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
         at com.sap.aii.af.rfc.afcommunication.ejb.RfcAFBean.isPPActive(RfcAFBean.java:385)
         at com.sap.aii.af.rfc.afcommunication.ejb.RfcAFBean.process(RfcAFBean.java:240)
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_0.process(ModuleLocalLocalObjectImpl0_0.java:103)
         ... 14 more
    Severity : Error
    Category :
    Location : com.sap.engine.services.ejb
    Application : sap.com/com.sap.aii.adapter.rfc.app
    Thread : SAPEngine_Application_Thread[impl:3]_44
    Datasource : 312846850:/usr/sap/XDS/DVEBMGS31/j2ee/cluster/server0/log/defaultTrace.trc
    Message ID : 0003BA5D1D27006D000002BF0000653B000435201DA336D6
    Source Name : com.sap.engine.services.ejb
    Argument Objs : com.sap.engine.services.ejb.exceptions.BaseTransactionRolledbackLocalException: Exception thrown in method process. The transaction is marked for rollback.
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_0.process(ModuleLocalLocalObjectImpl0_0.java:118)
         at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:264)
         at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0.process(ModuleProcessorLocalLocalObjectImpl0_0.java:103)
         at com.sap.aii.af.listener.AFWListenerBean.onMessage(AFWListenerBean.java:267)
         at com.sap.aii.af.listener.AFWListenerLocalObjectImpl0_0.onMessage(AFWListenerLocalObjectImpl0_0.java:103)
         at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:306)
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:1034)
         at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.invokeHandler(ReceiveConsumer.java:392)
         at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.onMessage(ReceiveConsumer.java:86)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:848)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: java.lang.NoSuchMethodError: com.sap.aii.af.rfc.core.config.RfcConfigManager.isPPActive(Lcom/sap/aii/af/service/cpa/Channel;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
         at com.sap.aii.af.rfc.afcommunication.ejb.RfcAFBean.isPPActive(RfcAFBean.java:385)
         at com.sap.aii.af.rfc.afcommunication.ejb.RfcAFBean.process(RfcAFBean.java:240)
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_0.process(ModuleLocalLocalObjectImpl0_0.java:103)
         ... 14 more
    Arguments : com.sap.engine.services.ejb.exceptions.BaseTransactionRolledbackLocalException: Exception thrown in method process. The transaction is marked for rollback.
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_0.process(ModuleLocalLocalObjectImpl0_0.java:118)
         at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:264)
         at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0.process(ModuleProcessorLocalLocalObjectImpl0_0.java:103)
         at com.sap.aii.af.listener.AFWListenerBean.onMessage(AFWListenerBean.java:267)
         at com.sap.aii.af.listener.AFWListenerLocalObjectImpl0_0.onMessage(AFWListenerLocalObjectImpl0_0.java:103)
         at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:306)
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:1034)
         at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.invokeHandler(ReceiveConsumer.java:392)
         at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.onMessage(ReceiveConsumer.java:86)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:848)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: java.lang.NoSuchMethodError: com.sap.aii.af.rfc.core.config.RfcConfigManager.isPPActive(Lcom/sap/aii/af/service/cpa/Channel;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
         at com.sap.aii.af.rfc.afcommunication.ejb.RfcAFBean.isPPActive(RfcAFBean.java:385)
         at com.sap.aii.af.rfc.afcommunication.ejb.RfcAFBean.process(RfcAFBean.java:240)
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_0.process(ModuleLocalLocalObjectImpl0_0.java:103)
         ... 14 more
    Dsr Component :
    Dsr Transaction : 3bdbc330311311dcb33b0003ba5d1d27
    Dsr User :
    Indent : 0
    Level : 0
    Message Code :
    Message Type : 1
    Relatives :
    Resource Bundlename :
    Session : 0
    Source : com.sap.engine.services.ejb
    ThreadObject : SAPEngine_Application_Thread[impl:3]_44
    Transaction : SAP J2EE Engine JTA Transaction : [12ffffffa5ffffffaa200435f]
    User : J2EE_GUEST
    Date : 07/13/2007
    Time : 9:32:39:304
    Message : Error during processing local bean: localejbs/RfcAFBean
    Severity : Error
    Category :
    Location : com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(String , ModuleData)
    Application : sap.com/com.sap.aii.af.app
    Thread : SAPEngine_Application_Thread[impl:3]_44
    Datasource : 312846850:/usr/sap/XDS/DVEBMGS31/j2ee/cluster/server0/log/defaultTrace.trc
    Message ID : 0003BA5D1D27006D000002C00000653B000435201DA33A4D
    Source Name : com.sap.aii.af.mp.ejb.ModuleProcessorBean
    Argument Objs :
    Arguments :
    Dsr Component :
    Dsr Transaction : 3bdbc330311311dcb33b0003ba5d1d27
    Dsr User :
    Indent : 0
    Level : 0
    Message Code :
    Message Type : 0
    Relatives :
    Resource Bundlename :
    Session : 0
    Source : com.sap.aii.af.mp.ejb.ModuleProcessorBean
    ThreadObject : SAPEngine_Application_Thread[impl:3]_44
    Transaction : SAP J2EE Engine JTA Transaction : [12ffffffa5ffffffaa200435f]
    User : J2EE_GUEST
    Date : 07/13/2007
    Time : 9:32:39:306
    Message : Rolling back transaction for message 38d82020-3113-11dc-c07b-0003ba5d1d27(INBOUND) due to: Exception thrown in method process. The transaction is marked for rollback.
    Severity : Error
    Category :
    Location : com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.invokeHandler(QueueMessage, MessageController, Services)
    Application :
    Thread : SAPEngine_Application_Thread[impl:3]_44
    Datasource : 312846850:/usr/sap/XDS/DVEBMGS31/j2ee/cluster/server0/log/defaultTrace.trc
    Message ID : 0003BA5D1D27006D000002C10000653B000435201DA341C8
    Source Name : com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer
    Argument Objs : 38d82020-3113-11dc-c07b-0003ba5d1d27(INBOUND),Exception thrown in method process. The transaction is marked for rollback.,
    Arguments : 38d82020-3113-11dc-c07b-0003ba5d1d27(INBOUND),Exception thrown in method process. The transaction is marked for rollback.,
    Dsr Component :
    Dsr Transaction : 3bdbc330311311dcb33b0003ba5d1d27
    Dsr User :
    Indent : 0
    Level : 0
    Message Code :
    Message Type : 1
    Relatives :
    Resource Bundlename :
    Session : 0
    Source : com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer
    ThreadObject : SAPEngine_Application_Thread[impl:3]_44
    Transaction : SAP J2EE Engine JTA Transaction : [12ffffffa5ffffffaa200435f]
    User : J2EE_GUEST
    It looks like the JCO Bean has an error. Any Ideas
    Regards Oliver

    Hi Bhavesh
    I found some more interesting log entries and it seems to be a user password problem:
    Retries exceded, set message 38f10280-3388-11dc-9c91-0003ba5d1d27(INBOUND) to status NON_DELIVERED.
    Name or password is incorrect (repeat logon)
    JCoClient connection missingHost:xdsci_XDS_31|AdapterType:MessagingSystem|Sender::FileServer|Receiver::PSCD_CDD|Interface:ZPSCD_INTERFACE_DECLAR_TVA:urn:sap-com:document:sap:rfc:functions|MsgID:38f10280-3388-11dc-9c91-0003ba5d1d27
    Is this the user/password of the channel or is it service user for the JCO?
    Regards Oliver

  • Howto: portable bind, lookup remote + local beans (EJB3) to JNDI with WL 10

    I struggle writing portable ejb3 applications with weblogic.
    I have a JEE5 (EJB3) application using the standard and it works fine on JBoss and WebSphere.
    Porting it to Weblogic (10.0) there are quite a lot of problems, mainly
    in the area of JNDI lookups of EJBs.
    So the issue is how to configure the JNDI-Names of local and remote beans (EJB3!)
    in a portable way with Weblogic without making the application unportable.
    The biggest problem is caused by the fact, that WL 10 does not bind the EJBs
    to the JNDI-tree by default. The bound name would not really be important (JBoss and WebSphere
    come up with a value that can easily be used for a generic lookup). Just any binding
    would be fine.
    So there has to be some extra step in order to get WL 10 binding a remote or local
    bean into the JNDI tree. Unfortunately none of them works/is acceptable in an portable JEE app.
    Idea1: Using the "mappedName" attribute (of @Stateless, @Stateful)
    Well, this one is not portable as the documentation states:
    [http://edocs.bea.com/wls/docs100/ejb30/annotations.html#wp1417411|http://edocs.bea.com/wls/docs100/ejb30/annotations.html#wp1417411]
    Idea2: Using @weblogic.ejbgen.JndiName
    Using weblogic's annotation JndiName also doesn't bind the bean to the given names:
    @Stateless
    @weblogic.ejbgen.JndiName(local="myapp/XBean/local",remote="myapp/XBean/remote")
    public class XBean implements XLocal {
    Besides this, that code would not be portable (as nobody wants an weblogic.jar within another application server).
    Idea3: Using weblogic-ejb-jar.xml
    Mapping a bean using the weblogic-ejb-jar.xml below, also doesn't work.
    The bean is not bound to the given name "myapp/XBean/remote":
    Exception in thread "main" javax.naming.NameNotFoundException:
    Unable to resolve 'myapp.XBean.remote'. Resolved 'myapp.XBean' [Root exception is javax.naming.NameNotFoundException: Unable to resolve 'myapp.XBean.remote'. Resolved 'myapp.XBean']; remaining name 'remote'
    Looking at the JNDI tree, there is "something" bound to "myapp.XBean", but it is not the bean.
    Doing a lookup with this name ("myapp/XBean" or "myapp.XBean"), gives this:
    Exception in thread "main" java.lang.ClassCastException: weblogic.jndi.internal.WLContextImpl cannot be cast to test.server.XRemote
         at test.client.Client.main(Client.java:14)
    Question 1) What is the preferred way to bind and lookup a remote bean in Weblogic 10?
    Again: the goal is to use pure EJB3.
    Question 2) What is the preferred way to bind and lookup a local bean in WL 10?
    This lookup has to be done on the server in some "unmanaged" classes
    where injection doesn't work.
    If there is an unportable way to bind a local bean to jndi, it might do for the time.
    The important thing would be, that there is no weblogic specific code within the application.
    So, solving it using weblogic-xml files would be best.
    This declaration
    <local-jndi-name>myapp/XBean/local</local-jndi-name>
    will come up with the same problems, I guess.
    Here's the code. We want the local interface extending the remote interface,
    so that the local beans can do all what the remote beans can do too.
    XRemote.java
    package test.server;
    import javax.ejb.Remote;
    @Remote
    public interface XRemote {
    String JNDI_NAME = "myapp/XBean/remote";
    void doXRemote();
    XLocal.java
    package test.server;
    import javax.ejb.Local;
    @Local
    public interface XLocal extends XRemote {
    String JNDI_NAME = "myapp/XBean/local";
    void doXLocal();
    XBean.java
    package test.server;
    import javax.ejb.Stateless;
    @Stateless
    public class XBean implements XLocal {
    @Override
    public void doXLocal() {
    System.out.println("doXLocal() called");
    @Override
    public void doXRemote() {
    System.out.println("doXRemote() called");
    weblogic-ejb-jar.xml
    <weblogic-ejb-jar
    xmlns="http://www.bea.com/ns/weblogic/10.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/10.0 http://www.bea.com/ns/weblogic/10.0/weblogic-ejb-jar.xsd">
    <weblogic-enterprise-bean>
    <ejb-name>XBean</ejb-name>
    <jndi-name>myapp/XBean/remote</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    Client.java
    package test.client;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import test.server.XRemote;
    public class Client {
    public static void main(String[] args) throws NamingException {
    InitialContext context = getInitialContext();
    XRemote xRemote = (XRemote) context.lookup(XRemote.JNDI_NAME);
    xRemote.doXRemote();
    private static InitialContext getInitialContext() throws NamingException {
    Properties properties = new Properties();
    properties.put(Context.PROVIDER_URL, "t3://localhost:7001");
    properties.put(Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.jndi.WLInitialContextFactory");
    properties.put(Context.SECURITY_PRINCIPAL, "weblogic");
    properties.put(Context.SECURITY_CREDENTIALS, "weblogic");
    return new InitialContext(properties);
    }

    Hi,
    about how to specify jndi name of remote ejb, please refer to this link: http://forums.oracle.com/forums/thread.jspa?threadID=800314&tstart=1
    please note @JNDIName isn't an EJBGen annotation. its package name is weblogic.javaee.
    So far, based on the EJB spec, local ejb will not be bound to global JNDI. EJB3.1 specification is trying to specify the portable JNDI names including local EJBs, but it isn't published yet.
    local EJB is used within one application and ejb reference is used to lookup the local EJB. please refer to EJB specification about how to declare an EJB local reference. once it is declared, it can be looked up from the java:comp\env JNDI namespace.
    But, if the local client of the EJB isn't a JavaEE component, there won't be any declaration of ejb-local-ref. You may want to try remote access to the EJB from the non-JavaEE client.

  • Local bean access via JNDI returns a proxy object?

    Hi,
    I am using JBoss, and trying to access a local bean from another bean. One would think simple enough no, with the following code adequate:
    Context initialContext = new InitialContext();
    CartHome cartHome = (CartHome) initialContext.lookup(&#8220;java:comp/env/ejb/cart&#8221;);Which returns the home interface, right, but no in fact a $Proxy77 is returned. Can anyone tell me why this is? Or a solution please.
    Thanks in advance.
    Mike

    Thanks, it works. But do you think calling the executeQuery from a backing bean is against any ADF related coding standards? Should that call be only in Application Module? Please comment.

  • The local node entry in Cluster Configuration information does not match wi

    In installing 10.1.0.3 CRS on Solaris 8 x86, I keep getting the error, "The local node entry in Cluster Configuration information does not match with the entry in /etc file." Both addresses are defined in the /etc/inet/hosts and are pingable. There seems to be no way to get past this issue. Earlier I installed 10.2.0.1 CRS on SLES9 SP2 on a system with the same network settings and had no problem. Is there some way to force the installer to accept the addresses given and proceed past this step?

    All,
    I think there can be two problems
    1.
    if your host file looks as follows
    # Public
    192.168.2.x rac1.localdomain rac1
    192.168.2.x rac2.localdomain rac2
    #Private
    192.168.0.x rac1-priv.localdomain rac1-priv
    192.168.0.x rac2-priv.localdomain rac2-priv
    #Virtual
    192.168.2.x rac1-vip.localdomain rac1-vip
    192.168.2.x rac2-vip.localdomain rac2-vip
    then you should be able to do rsh or ssh sucessfully for each aliases at least one from each nodes
    (ex)
    on node rac1
    ssh rac1 date
    ssh rac1.localdomain date
    ssh rac2 date
    ssh rac2.localdomain date
    2. you should create user equivalance on all the nodes as follows
    Edit the /etc/hosts.equiv file to include all the RAC nodes:
    +rac1 oracle
    +rac2 oracle
    +rac1-priv oracle
    +rac2-priv oracle                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Why do I use local bean interfaces?

    When can I use a local bean interface?
    Is it when the beans are deployed in the same manufacturers container system or do the beans just have to reside on the same physical machine?

    Yes, you should always write local interfaces when
    both web and ejb container using the same JVM.
    This is incorrect. The EJB Local view (as opposed to the EJB Remote view)
    can only be accessed by :
    1) an EJB within the same ejb-jar
    2) an EJB within a different ejb-jar but packaged within the same .ear
    3) a web component(servlet or jsp) in a .war packaged within the same .ear
    An ejb or web component in a different application(.ear) cannot portably
    access the Local EJB view.
    Kenneth Saks
    J2EE SDK Team
    SUN Microsystems
    You can search out about more on local interface for
    solving data-aliasing problem.

  • EAR PACKAGE LOCAL BEAN

    Hi everybody,
    I would be really glad for some help.
    I have a servlet in a web app that tries to use a local stateless EJB 3 bean. I have packaged all it in a EAR created using eclipse. But it seems not to deploy well the EJB.
    Instead if I deployed this EJB by myself (as a jar) I see that things are ok in the jboss, but I cannot acces to it because is a local bean.
    Any suggestion will be nice.
    Thanks.

    Any suggestion will be nice.I would suggest that you remove the code that directly calls the EJB from the servlet. Implement a Business Delegate and have it call the EJB directly. Store a reference to the Business Delegate in HttpSession.
    Try to create the EAR without Eclipse. Deploy the EAR in JBoss without Eclipse.
    If you delploy the EJB (local bean) correctly in JBoss, you should be able to access it via JNDI tree of application server. It does not matter whether you use an EAR jar or and EJB jar. If you deploy the web application and the EJB application on the same node, they can communicate with each other using EJB local interfaces.

  • Local Stateful Session Bean State Failover Cluster

              Hi,
              How are you doing? I have poured through the previous postings and still am unclear
              on the following: If we have a stateful session bean that is local is the state
              replicated in a cluster if we are using in-memory replication?
              What controls when the state is replicated? Transactions?
              What happens if the methods are not transacted? Is the state replication at the
              method level?
              Thank you so much,
              -Bart Simpson
              

    Hi Bart,
              I'm a bit unclear on it too. It's been asked before, but no definite answer
              has been provided.
              Peace,
              Cameron Purdy
              Tangosol, Inc.
              http://www.tangosol.com/coherence.jsp
              Tangosol Coherence: Clustered Replicated Cache for Weblogic
              "Bart Simpson" <[email protected]> wrote in message
              news:[email protected]..
              >
              > Hi,
              >
              > How are you doing? I have poured through the previous postings and still
              am unclear
              > on the following: If we have a stateful session bean that is local is the
              state
              > replicated in a cluster if we are using in-memory replication?
              >
              > What controls when the state is replicated? Transactions?
              >
              > What happens if the methods are not transacted? Is the state replication
              at the
              > method level?
              >
              > Thank you so much,
              > -Bart Simpson
              

  • Always selecting the local JMS in a cluster, is it possible? (in 6.1)

    Hi,
              A 6.1 cluster has a JMS server running on each node. The JMS client
              code has a component to do the fail over "manually": it tries one
              node, if that doesn't work it tries the next and so on. The
              destination names are different (and replicated in the JNDI tree).
              If everything is ok, all requests go the first server (meaning network
              traffic). Is there an elegant way to always try with the local JMS
              server before the remote ones, without minimum configuration
              dependency (i.e. no system properties passed at start-up telling what
              JMS servers to use and so on)
              Perhaps something using JMSDestinationRuntimeMBean and
              JMSServerRuntimeMBean?
              Oh, just noticed JMSRuntimeMBean.html.getJMSServers(), this might do
              it. I'll post it nonetheless in case other people have better ideas.
              Thanks.
              

    Thanks again.
              In fact, if I use the server/queue syntax, I can use the queue name
              (the Name attrribute) not the JNDI name. This in case these names can
              be the same in a cluster deployment (with replicated JNDI names
              different). I'll check soon.
              Regarding the connection factory, I wonder whether WL doesn't do its
              otherwise typical performance improvements and return a local
              connection if there is one (as it already does with remote
              interfaces). I couldn't find a reference to such an optimization in
              the JMS documentation, though.
              On Wed, 17 Apr 2002 09:37:59 -0400, Tom Barnes
              <[email protected]> wrote:
              >email wrote:
              >
              >> Thank you. The second option looks better than the first because it
              >> allows using destinations on other JMS servers (by interrogating an
              >> MBean to get the JMS servers in the cluster).
              >
              >The second option only works if the connection is already connected
              >to the correct server. If you use mbeans, you can glean the URL
              >of the correct server by obtaining the IP and address of the remote
              >server from the ServerMBean - the "target" of the JMSServerMBean.
              >
              >An issue with this feature is the connection factory - which round-robins the
              >location of connection in certain cases. Currently the only way to ensure the
              >connection
              >factory does not do this is to target it at a single server. I suppose one
              >could duplicate the connection factory and target each duplicate at
              >a different server, but that requires giving each one a different name.
              >This may not be an issue with server-side contexts, I will investigate.
              >
              >
              >> It's useful to know
              >> about JNDINameReplicated, but that way accessing a remote destination
              >> will not be possible at all.
              >>
              >
              >I think you could write a small a startup class to look up the queue in the
              >local context and register the queue in a
              >replicated context with a different JNDI name. This way the destination
              >is advertised both ways. Fairly sure this would work.
              >
              >>
              >> BTW, a related question on reliability: accessing a remote destination
              >> if the local is down means there is a local problem with the JMS
              >> server or the queue, but the container is fine. Now, how likely is
              >> this in practice? Having the container up but the JMS subsystem down.
              >>
              >
              >Parts (or all) of JMS can fail due to configuration
              >errors -- commonly JNDI name collisions of destinations and/or factories,
              >failure to set the target, or using the same server name or jms server name
              >on two different servers.
              >
              >If you are using a file-store, boot failures occur with things
              >like file-store not found, or relatively catastrophic failures like
              >out-of-memory.
              >
              >If you are using a JDBC store, there is a dependency on the database being up.
              >
              >
              >>
              >> Indeed, 7.0 would solve it but that's several months ahead if I
              >> understand correctly:)
              >>
              >
              >Not months. Weeks. A very few weeks. I'm not sure what is officially
              >announced
              >so I can't get more specific.
              >
              >>
              >> Thanks again.
              >>
              >> On Tue, 16 Apr 2002 14:48:02 -0400, Tom Barnes
              >> <[email protected]> wrote:
              >>
              >> >Consider the new "JNDINameReplicated" configuration parm on the
              >> >destination. Ensure each server running 6.0SP2 with patch CR061106, or
              >> >6.1SP3 (not out yet) and later, or 7.0. Configure each queue to have the
              >> >same JNDI name, and also take care to set the destination’s new
              >> >“JNDINameReplicated” parameter to false. This turns off name
              >> >replications, so the JNDI name of the dest is only visible on the server
              >> >local to the context.
              >> >
              >> >Consider naming all destinations the same and looking them up the dest via
              >> >session.createQueue("./queuename"), this is a new syntax that restricts
              >> >the lookup to the same server as the one the JMS connection is talking
              >> >to. The normal syntax is "servername/queuename". This feature is
              >> >slated for 6.1SP3, no guarantees, (or try ask customer support to get this
              >> >feature in early as a patch, no guarantees there either), or 7.0.
              >> >
              >> >Consider not rolling your own and using 7.0, which has a rich distributed
              >> >destination feature built in.
              >> >
              >> >Tom
              >> >
              >> >email wrote:
              >> >
              >> >> Hi,
              >> >>
              >> >> A 6.1 cluster has a JMS server running on each node. The JMS client
              >> >> code has a component to do the fail over "manually": it tries one
              >> >> node, if that doesn't work it tries the next and so on. The
              >> >> destination names are different (and replicated in the JNDI tree).
              >> >>
              >> >> If everything is ok, all requests go the first server (meaning network
              >> >> traffic). Is there an elegant way to always try with the local JMS
              >> >> server before the remote ones, without minimum configuration
              >> >> dependency (i.e. no system properties passed at start-up telling what
              >> >> JMS servers to use and so on)
              >> >>
              >> >> Perhaps something using JMSDestinationRuntimeMBean and
              >> >> JMSServerRuntimeMBean?
              >> >>
              >> >> Oh, just noticed JMSRuntimeMBean.html.getJMSServers(), this might do
              >> >> it. I'll post it nonetheless in case other people have better ideas.
              >> >>
              >> >> Thanks.
              >> >
              >
              

  • Local Queue in a cluster

              Hi
              Is there any way to programmatically determine whether a queue is local to a server
              in a cluster. Like for example there are 3 server in a cluster and I have pinned
              the Queue to a server say server#3. Now I want to start some processes in that
              server which hosts the Queue - and not in any other server - like a polling program.
              So somehow that has to detect that the Queue is local to that server though the
              JNDI name is replicated in the cluster ie all members in the cluster should be
              able to see the Queue.
              thanks
              Anamitra
              

              You can look up the queue using createQueue() with the syntax
              "./queue-name". This looks for queue's running on the same
              server as the client's host connecton. (A client running
              on a server will host its connection on the same server
              provided the client's connection-factory contains the server
              in its target list...). This syntax is supported by 7.0,
              6.1SP3 or later, and 6.1SP2 with patch CR072612.
              You can turn off JNDI name replication for the destination.
              This feature is not exposed on the console until 8.1, but you can
              set it in the destinations config.xml via:
              JNDINameReplicated="true"
              This may not work on all versions, if this doesn't work (eg it
              generates a syntax error), contact customer support. There
              are enhancement patches...
              In WebLogic 8.1 you can query the queue object to determine
              the related mbean. Then get the parent's parent
              to determine the server-name. (see weblogic.jms.extensions.JMSHelper)
              You other versions you can get the mbeans as well. If you
              use the "local" mbean-home, it restricts the view to
              runtime mbeans that are running on the same server as
              the supplied context:
              if (useLocalMBeanHome)
              mbh = (MBeanHome)ctx.lookup(MBeanHome.LOCAL_JNDI_NAME);
              else
              mbh = (MBeanHome)ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
              Tom
              Anamitra wrote:
              > Hi
              > Is there any way to programmatically determine whether a queue is
              local to a server
              > in a cluster. Like for example there are 3 server in a cluster and I
              have pinned
              > the Queue to a server say server#3. Now I want to start some
              processes in that
              > server which hosts the Queue - and not in any other server - like a
              polling program.
              > So somehow that has to detect that the Queue is local to that server
              though the
              > JNDI name is replicated in the cluster ie all members in the cluster
              should be
              > able to see the Queue.
              >
              > thanks
              > Anamitra
              

  • FindAll in local bean - ClassCastException

    Hi,
    I have 2 beans
    - AddressFacade
    - CountryCodeLocal
    AddressFacade calls CountryCodeLocal.findAll() like this:
    CountryCodeLocalHome countryCodeHome = (CountryCodeLocalHome)context.lookup("java:comp/env/ejb/CountryCodeLocal");
    Collection c = countryCodeHome.findAll(); //fails here
    When I try findPrimaryKey, everything is fine.
    After a minute, Oc4j throws an exception on findAll.
    I'll be glad to show anything you may need.
    in orion-ejb-jar.xml, disable-wrapper-cache="true"
    Any help will be very much appreciated.
    Thanks,
    Christophe
    This is the application.log:
    4/14/03 12:15 PM Error in bean CountryCode
    java.rmi.RemoteException: timeout expired waiting for an instance
         com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ejb.AbstractEJBObject CountryCodeLocalHome_EntityHomeWrapper21.getWrapperByPK(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerTransaction, java.lang.Object)
              CountryCodeLocalHome_EntityHomeWrapper21.java:280
         java.util.Collection CountryCodeLocalHome_EntityHomeWrapper21.findAll()
              CountryCodeLocalHome_EntityHomeWrapper21.java:772
         java.util.Collection fda.common.address.ejb.beans.AddressFacadeBean.findAllCountryCode()
         java.util.Collection AddressFacade_StatelessSessionBeanWrapper6.findAllCountryCode()
              AddressFacade_StatelessSessionBeanWrapper6.java:387
         void loginContent.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _loginContent.java:50
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:119
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindPageContext.include(java.lang.String)
              EvermindPageContext.java:249
         int org.apache.struts.taglib.template.GetTag.doStartTag()
              GetTag.java:201
         void templates.master._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _master.java:104
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:119
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindPageContext.include(java.lang.String)
              EvermindPageContext.java:249
         int org.apache.struts.taglib.template.InsertTag.doEndTag()
              InsertTag.java:158
         void login.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _login.java:75
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
              ServletRequestDispatcher.java:306
         boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
              HttpRequestHandler.java:767
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
              HttpRequestHandler.java:259
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
              HttpRequestHandler.java:106
         void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
              PooledExecutor.java:797
         void java.lang.Thread.run()
              Thread.java:484
    4/14/03 12:15 PM Error in bean AddressFacade
    java.lang.ClassCastException: java.rmi.RemoteException
         java.util.Collection CountryCodeLocalHome_EntityHomeWrapper21.findAll()
              CountryCodeLocalHome_EntityHomeWrapper21.java:815
         java.util.Collection fda.common.address.ejb.beans.AddressFacadeBean.findAllCountryCode()
         java.util.Collection AddressFacade_StatelessSessionBeanWrapper6.findAllCountryCode()
              AddressFacade_StatelessSessionBeanWrapper6.java:387
         void loginContent.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _loginContent.java:50
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:119
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindPageContext.include(java.lang.String)
              EvermindPageContext.java:249
         int org.apache.struts.taglib.template.GetTag.doStartTag()
              GetTag.java:201
         void templates.master._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _master.java:104
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:119
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindPageContext.include(java.lang.String)
              EvermindPageContext.java:249
         int org.apache.struts.taglib.template.InsertTag.doEndTag()
              InsertTag.java:158
         void login.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _login.java:75
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
              ServletRequestDispatcher.java:306
         boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
              HttpRequestHandler.java:767
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
              HttpRequestHandler.java:259
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
              HttpRequestHandler.java:106
         void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
              PooledExecutor.java:797
         void java.lang.Thread.run()
              Thread.java:484
    4/14/03 12:15 PM oaa: Servlet error
    com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.rmi.OrionRemoteException: Transaction was rolled back: timed out
         java.util.Collection AddressFacade_StatelessSessionBeanWrapper6.findAllCountryCode()
              AddressFacade_StatelessSessionBeanWrapper6.java:441
         void loginContent.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _loginContent.java:50
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:119
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindPageContext.include(java.lang.String)
              EvermindPageContext.java:249
         int org.apache.struts.taglib.template.GetTag.doStartTag()
              GetTag.java:201
         void templates.master._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _master.java:104
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:119
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindPageContext.include(java.lang.String)
              EvermindPageContext.java:249
         int org.apache.struts.taglib.template.InsertTag.doEndTag()
              InsertTag.java:158
         void login.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _login.java:75
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
              ServletRequestDispatcher.java:306
         boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
              HttpRequestHandler.java:767
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
              HttpRequestHandler.java:259
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
              HttpRequestHandler.java:106
         void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
              PooledExecutor.java:797
         void java.lang.Thread.run()
              Thread.java:484
         Nested exception is:
    java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
         java.lang.Exception: No Exception - originate from:
    java.lang.Exception: No Exception - originate from:
         java.lang.Exception com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ejb.EJBUtils.makeException(java.lang.Throwable)
              EJBUtils.java:912
         java.util.Collection AddressFacade_StatelessSessionBeanWrapper6.findAllCountryCode()
              AddressFacade_StatelessSessionBeanWrapper6.java:441
         void loginContent.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _loginContent.java:50
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:119
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindPageContext.include(java.lang.String)
              EvermindPageContext.java:249
         int org.apache.struts.taglib.template.GetTag.doStartTag()
              GetTag.java:201
         void templates.master._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _master.java:104
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:119
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindPageContext.include(java.lang.String)
              EvermindPageContext.java:249
         int org.apache.struts.taglib.template.InsertTag.doEndTag()
              InsertTag.java:158
         void login.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              _login.java:75
         void com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for J2EE].http.OrionHttpJspPage.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              OrionHttpJspPage.java:56
         void oracle.jsp.runtimev2.JspPageTable.compileAndServe(oracle.jsp.runtimev2.JspPageInfo, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspPageTable.java:537
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:272
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ResourceFilterChain.java:65
         void oracle.security.jazn.oc4j.JAZNFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
              JAZNFilter.java:283
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:560
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
              ServletRequestDispatcher.java:306
         boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
              HttpRequestHandler.java:767
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
              HttpRequestHandler.java:259
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
              HttpRequestHandler.java:106
         void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
              PooledExecutor.java:797
         void java.lang.Thread.run()
              Thread.java:484

    Hi Christophe,
    I didn't really look at your stack trace, but from the information you supplied in your follow-up post, I think the rollback is occurring because the transaction timeout has been passed. The transaction timeout is defined in the "server.xml" configuration file. This Web page describes the "server.xml" file:
    http://kb.atlassian.com/content/orion/docs/configuration/server.xml.html
    and here is an excerpt from that Web page:
    &lt;transaction-config timeout="60000" /&gt;
    Transaction configuration for the server.
    timeout - The max time taken for a transaction to finish
    before it can get rolled back due to a timeout in
    milli-seconds. The default value is 60000.However, a "finder" method does not have to execute within a transaction context, so you could also define an appropriate "trans-attribute" entry in your "ejb-jar.xml" file. This Web page describes the "ejb-jar.xml" file:
    http://kb.atlassian.com/content/orion/docs/deployment/ejb-jar2.0.xml.html
    And here is an excerpt from that Web page:
    &lt;trans-attribute&gt;Supports&lt;/trans-attribute&gt;
    The trans-attribute element specifies how the container
    must manage the transaction boundaries when delegating a
    method invocation to an enterprise bean's business
    method. The value of trans-attribute must be one of the
    following: NotSupported, Supports, Required,
    RequiresNew, Mandatory or NeverMore details regarding the "ejb-jar.xml" file are available in the EJB specification (from SUN):
    http://java.sun.com/products/ejb/docs.html
    Hope this helps you.
    Good Luck,
    Avi.

  • Local NFS / LDAP on cluster nodes

    Hi,
    I have a 2-node cluster (3.2 1/09) on Solaris 10 U8, providing NFS (/home) and LDAP for clients. I would like to configure LDAP and NFS clients on each cluster node, so they share user information with the rest of the machines.
    I assume the right way to do this is to configure the cluster nodes the same as other clients, using the HA Logical Hostnames for the LDAP and NFS server; this way, there's always a working LDAP and NFS server for each node. However, what happens if both nodes reboot at once (for example, power failure)? As the first node boots, there is no working LDAP or NFS server, because it hasn't been started yet. Will this cause the boot to fail and require manual intervention, or will the cluster boot without NFS and LDAP clients enabled, allowing me to fix it later?

    Thanks. In that case, is it safe to configure the NFS-exported filesystem as a global mount, and symlink e.g. "/home" -> "/global/home", so home directories are accessible via the normal path on both nodes? (I understand global filesystems have worse performance, but this would just be for administrators logging in with their LDAP accounts.)
    For LDAP, my concern is that if svc:/network/ldap/client:default fails during startup (because no LDAP server is running yet), it might prevent the cluster services from starting, even though all names required by cluster are available from /etc.

  • Local Director 417 in cluster situation

    Hi,
    I have a LD 417 to forward packets to 2 servers (A&B running redhat cluster suite). The IP address of server A and B are 10.10.10.1 and 10.10.10.2 respectively. The virtual ip for server A and B is 10.10.10.3.
    Since the 2 servers are clusters, only 1 server will be running a service at a time. The service runs at port 5000.
    My questions:
    1. LD 417 will need to route packets to the server which is running the service. How does LD 417 determines that the service is running at server A instead of B ? Is there any command such as keepalive ? what mechanism does LD 417 use ?
    2. If I set the bind as follow:
    bind 10.10.10.3:5000:0:tcp 10.10.10.3:5000:0:tcp
    How can I divert all other packets going to vip 10.10.10.3 to another server (10.10.10.11) ?
    Thanks for the help ?

    the LD uses inband health monitoring.
    It forwards client traffic to server and if the LD does not see a response from the server, it consider it as dead [there are thresholds associated with this].
    localdirector(config)# threshold ?
    usage: threshold
    There is also probes that can be generated but it is limited to dns and http.
    localdirector(config)# pro?
    probe
    probeconfig
    probedns
    probehttp
    If you want to redirect other traffic to another address, you first need to create a vserver to catch this traffic, a real server to receive the traffic an d then bind the 2 togethers.
    Gilles.

  • Calling Local Stateless session bean from Spring in weblogic 10.3

    We are in the process of upgrading to Weblogic 10.3 from OC4J (OAS). We are using Spring and Stateless Session EJB 3 Local beans (Don't ask me why, it is decided before I came to the project).
    Previously (OC4J):
    -> There is no ejb-jar.xml. EJBs are configured with annotation @Stateless. No "name" or "mappedName" are defined.
    Spring POJOs access EJBs by using "EJBMODULENAME_<<EJBBeanClass>>Local" as JNDI Name. I think this strange JNDI name is what OC4J assigns when there is no explicit JNDI name defined.
    Sample Spring Bean configuration -
    <bean name="securityEJB" class="org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean" lazy-init="true">
              <property name="jndiName">
                   <value>myapp-ejb_SecurityEJBImplLocal</value>
              </property>
              <property name="resourceRef">
                   <value>false</value>
              </property>
              <property name="businessInterface">
                   <value>my.package.SecurityEJB</value>
              </property>
         </bean>
    I understand that weblogic 10.x doesn't give any global JNDI name (JNDI tree is empty) and also looked at the blog, Link: [http://m-button.blogspot.com/2008/07/reminder-on-how-to-use-ejb3-with.html]
    So far I have tried,
    1. @EJB annotation works but, I don't want to add @EJB annotations in the entire application. Since we are using Spring and EJB3, I am trying to avoid mixing them -
    2. java:comp/env is supposed to work (since it is a local session bean), but it doesn't for me.
    I haven't added weblogic-ejb-jar.xml as I don't think it is going to help, as there is no global JNDI name defined. Am I missing some thing?
    Thx

    Hi,
    if you don't want to use @EJB to inject the EJB, then you'll need declare the EJB reference in deployment descriptor.
    Here is an example copied from EJB3 spec:
    <ejb-local-ref>
    <description>
    This is a reference to the local business interface
    of an EJB 3.0 session bean that provides a payroll
    service.
    </description>
    <ejb-ref-name>ejb/Payroll</ejb-ref-name>
    <local>com.aardvark.payroll.Payroll</local>
    </ejb-local-ref>
    then you can lookup the local ejb from "java:comp/env/ejb/Payroll".

  • Local Session Bean Call Exception in App Server

    I have been having trouble calling a Local Session bean in Glassfish.
    I set up an example to show the exception I am having:
    MainBeanLocal
        package com.test;
        import javax.ejb.Local;
        @Local
        public interface MainBeanLocal {
             void testCall();
    MainBean:
        package com.test;
        import javax.ejb.Stateless;
         * Session Bean implementation class MainBean
        @Stateless(mappedName = "ejb/MainBean")
        public class MainBean implements MainBeanLocal {
             @Override
             public void testCall() {
                  System.out.println("Test Call Succeeded");
    RemoteBeanRemote:
        package com.test;
        import javax.ejb.Remote;
        @Remote
        public interface RemoteBeanRemote {
             public void callMainBean();
    RemoteBean:
        package com.test;
        import javax.ejb.Stateless;
        import javax.naming.InitialContext;
        import javax.naming.NamingException;
         * Session Bean implementation class RemoteBean
        @Stateless(mappedName = "ejb/RemoteBean")
        public class RemoteBean implements RemoteBeanRemote {
             @Override
             public void callMainBean() {
                  try {
                       InitialContext ctx = new InitialContext();
                       MainBeanLocal mb = (MainBeanLocal) ctx.lookup("ejb/MainBean");
                       mb.testCall();
                  } catch (NamingException e) {
                       // TODO Auto-generated catch block
                       e.printStackTrace();
    Test Code:
        package com.test;
        import javax.naming.InitialContext;
        import javax.naming.NamingException;
        public class BeanTester {
             public static void main(String[] args){
                  try {
                       InitialContext ctx = new InitialContext();
                       RemoteBeanRemote remote = (RemoteBeanRemote) ctx.lookup("ejb/RemoteBean");
                       remote.callMainBean();
                  } catch (NamingException e) {
                       // TODO Auto-generated catch block
                       e.printStackTrace();
    Output Trace:
        INFO: deployed with moduleid = TestEJB
        INFO: **RemoteBusinessJndiName: ejb/RemoteBean; remoteBusIntf: com.test.RemoteBeanRemote
        INFO: LDR5010: All ejb(s) of [TestEJB] loaded successfully!
        WARNING: javax.naming.NameNotFoundException: MainBean not found
             at com.sun.enterprise.naming.TransientContext.doLookup(TransientContext.java:216)
             at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:188)
             at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:74)
             at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:111)
             at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:409)
             at javax.naming.InitialContext.lookup(InitialContext.java:392)
             at com.test.RemoteBean.callMainBean(RemoteBean.java:19)
             at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
             at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
             at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
             at java.lang.reflect.Method.invoke(Method.java:597)
             at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011)
             at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175)
             at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2920)
             at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4011)
             at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:203)
             at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:117)
             at $Proxy71.callMainBean(Unknown Source)
    ...What am I doing wrong when calling **MainBeanLocal**? I would like to avoid dependency injection, as if the MainBeanLocal was being called from a POJO.
    Note: I have no trouble calling the RemoteBean.. I want to be able to call the local bean from the remote bean.

    Maik,
    If this is still a problem, could you please post the descriptors from the EAR?
    Are you using any annotations?
    - Tim

Maybe you are looking for

  • Is There a Way to Force a SYNC/BACKUP of the IPHONE

    Hi All. Thanks again for the help on the logo stuck issue. Is there a way to force a sync/backup of the phone so if another restore is necessary the backup is recent and can recover the phone? Thanks all. Bob Wethersfield, Ct.

  • Need help in converting date format

    Hi, Need help in converting date format from 'DD-MON-YYYY' to 'YYYY-MM-DD' in an .rtf template as I believe xml publisher supports the date format as 'YYYY-MM-DD' only. Thanks, Raj.

  • After Effects 3D Text Colouring?

    Hello, I have been working for quite a bit now to try to firgure this out, but I still can't get it. I have made some 3D text in Ae, and coloured it orange. In photoshop, I was able to go into the layer in 3D mode and edit the insides of the letters

  • SolidWorks and large assembly

    I am having problems with making a PDF of a not small assembly. I have an assembly of about 50 parts and try to make a 3D PDF and it looks like it works, but when you open it, it is all messed up, the parts are in wrong places, some parts are just co

  • Free Up Old MobileMe Address, For Use As iCloud Alias?

    Back when Apple were offering free trials of MobileMe, I signed up for the service and created an @me.com address. Now that I'm using iCloud, I would to use that @me.com address as one of my aliases in Mail. However, the iCloud website says that the