Clustering EJB's

I am trying to use a custom to Router class to dynamically load balance session beans between 2 servers in a cluster. I force the class to return only one server but I still see cluster load balance the beans between the 2 servers. I can see the router class being called but it does not seem to be used.Am I missing something?? Please Advice.ThanksRoshan
          

          After clustering, you need to have cluster wide JNDI tree structure.
          "Ramesh" <[email protected]> wrote:
          >
          >Hi,
          >
          >Ths is my first week on Weblogic6.1. I need some very basic info about
          >clustering
          >EJB's. Working on a Win2000 environment.
          >
          >Any help would be welcome.
          >
          >Thanks in advance
          

Similar Messages

  • Clustering EJB

    can anyone tell me how to:
    1. cluster EJB
    2. how does my client class locate clustered EJB from the JNDI tree
    i am currently using weblogic 6.1
    thanks

    This is not a simple question that can be answered in the forums. BEA has decent documentation on setting up clustering. It requires a few steps like:
    Getting a broadcast IP address,having a clustering license, setting up master and slave app servers, etc. You really need to go here and start your journey:
    http://edocs.bea.com/wls/docs61/adminguide/
    Paul

  • Problem in clustering ejb

              I am using a cluster of two servers and deploying my business logic (ejb) as a
              cluster service. The war file (servlets) are deployed in as seperate server acting
              as only a web server.
              I get problem in aquiring the home object of my ejb. To get the handle to InitialContext,
              I use the properties file and the PROVIDER_URL is the url of the admin server
              of the cluster.
              The ejb' are not deployed in the admin server, only in the two clustered machines.
              The problem is that when the servlet gets the initial context and tries to lookup
              the home, it gets a null value. There is no JNDI tree for the deployed ejb's in
              the admin server.
              Is there something wrong with my set up. Using WLS 6.1 sp2. The stack trace -
              javax.naming.NameNotFoundException: Unable to resolve PrincipalFacade. Resolved:
              '' Unresolved:'PrincipalFacade' ; remaining name ''
              at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:85)
              at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:255)
              at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:222)
              at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
              at $Proxy58.lookup(Unknown Source)
              at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:323)
              at javax.naming.InitialContext.lookup(InitialContext.java:350)
              at com.pws.ubiquity.ad.util.ADEJBUtil.getHome(ADEJBUtil.java:111)
              at com.pws.ubiquity.ad.util.ADEJBUtil.getRemotePrincipalFacade(ADEJBUtil.java:209)
              at com.pws.ubiquity.common.web.action.LoginAction.authenticate(LoginAction.java:197)
              at com.pws.ubiquity.common.web.action.LoginAction.perform(LoginAction.java:109)
              at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
              at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2456)
              at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              java.lang.NullPointerException: narrowFrom'null' narrowTo:'interface com.
              pws.ubiquity.ad.business.PrincipalFacadeHome'It is invalid to call narrow with
              n
              ull parameters
              at weblogic.iiop.PortableRemoteObjectDelegateImpl.narrow(PortableRemoteO
              bjectDelegateImpl.java:51)
              at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
              at com.pws.ubiquity.ad.util.ADEJBUtil.getRemotePrincipalFacade(ADEJBUtil
              .java:211)
              at com.pws.ubiquity.common.web.action.LoginAction.authenticate(LoginActi
              on.java:197)
              at com.pws.ubiquity.common.web.action.LoginAction.perform(LoginAction.ja
              va:109)
              at org.apache.struts.action.ActionServlet.processActionPerform(ActionSer
              vlet.java:1786)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:158
              5)
              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:265)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:200)
              at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
              rvletContext.java:2456)
              at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
              pl.java:2039)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              javax.naming.NameNotFoundException: Unable to resolve PermissionFacade. Resolved
              : '' Unresolved:'PermissionFacade' ; remaining name ''
              at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundR
              equest.java:85)
              at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR
              ef.java:255)
              at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR
              ef.java:222)
              at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
              at $Proxy58.lookup(Unknown Source)
              at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:323)
              at javax.naming.InitialContext.lookup(InitialContext.java:350)
              at com.pws.ubiquity.ad.util.ADEJBUtil.getHome(ADEJBUtil.java:111)
              at com.pws.ubiquity.ad.util.ADEJBUtil.getRemotePermissionFacade(ADEJBUti
              l.java:265)
              at com.pws.ubiquity.common.web.action.LoginAction.authenticate(LoginActi
              on.java:198)
              at com.pws.ubiquity.common.web.action.LoginAction.perform(LoginAction.ja
              va:109)
              at org.apache.struts.action.ActionServlet.processActionPerform(ActionSer
              vlet.java:1786)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:158
              5)
              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:265)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:200)
              at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
              rvletContext.java:2456)
              at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
              pl.java:2039)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              

              PROVIDER_URL is either the localhost (if EJB and client at the same server) or
              cluster address (e.g., comma separated ip:port address). admin server is not you
              want. Just think the cluster can run even the admin server is down.
              "vivek" <[email protected]> wrote:
              >
              >I am using a cluster of two servers and deploying my business logic (ejb)
              >as a
              >cluster service. The war file (servlets) are deployed in as seperate
              >server acting
              >as only a web server.
              >
              >I get problem in aquiring the home object of my ejb. To get the handle
              >to InitialContext,
              >I use the properties file and the PROVIDER_URL is the url of the admin
              >server
              >of the cluster.
              >
              >The ejb' are not deployed in the admin server, only in the two clustered
              >machines.
              >The problem is that when the servlet gets the initial context and tries
              >to lookup
              >the home, it gets a null value. There is no JNDI tree for the deployed
              >ejb's in
              >the admin server.
              >
              >Is there something wrong with my set up. Using WLS 6.1 sp2. The stack
              >trace -
              >
              >javax.naming.NameNotFoundException: Unable to resolve PrincipalFacade.
              >Resolved:
              > '' Unresolved:'PrincipalFacade' ; remaining name ''
              > at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:85)
              > at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:255)
              > at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:222)
              > at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
              > at $Proxy58.lookup(Unknown Source)
              > at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:323)
              > at javax.naming.InitialContext.lookup(InitialContext.java:350)
              > at com.pws.ubiquity.ad.util.ADEJBUtil.getHome(ADEJBUtil.java:111)
              > at com.pws.ubiquity.ad.util.ADEJBUtil.getRemotePrincipalFacade(ADEJBUtil.java:209)
              > at com.pws.ubiquity.common.web.action.LoginAction.authenticate(LoginAction.java:197)
              > at com.pws.ubiquity.common.web.action.LoginAction.perform(LoginAction.java:109)
              > at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
              > at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
              > at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
              >
              > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
              > at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2456)
              > at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >java.lang.NullPointerException: narrowFrom'null' narrowTo:'interface
              >com.
              >pws.ubiquity.ad.business.PrincipalFacadeHome'It is invalid to call narrow
              >with
              >n
              >ull parameters
              > at weblogic.iiop.PortableRemoteObjectDelegateImpl.narrow(PortableRemoteO
              >bjectDelegateImpl.java:51)
              > at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
              > at com.pws.ubiquity.ad.util.ADEJBUtil.getRemotePrincipalFacade(ADEJBUtil
              >.java:211)
              > at com.pws.ubiquity.common.web.action.LoginAction.authenticate(LoginActi
              >on.java:197)
              > at com.pws.ubiquity.common.web.action.LoginAction.perform(LoginAction.ja
              >va:109)
              > at org.apache.struts.action.ActionServlet.processActionPerform(ActionSer
              >vlet.java:1786)
              > at org.apache.struts.action.ActionServlet.process(ActionServlet.java:158
              >5)
              > at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
              >
              > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              >pl.java:265)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              >pl.java:200)
              > at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
              >rvletContext.java:2456)
              > at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
              >pl.java:2039)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >javax.naming.NameNotFoundException: Unable to resolve PermissionFacade.
              >Resolved
              >: '' Unresolved:'PermissionFacade' ; remaining name ''
              > at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundR
              >equest.java:85)
              > at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR
              >ef.java:255)
              > at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR
              >ef.java:222)
              > at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
              > at $Proxy58.lookup(Unknown Source)
              > at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:323)
              > at javax.naming.InitialContext.lookup(InitialContext.java:350)
              > at com.pws.ubiquity.ad.util.ADEJBUtil.getHome(ADEJBUtil.java:111)
              > at com.pws.ubiquity.ad.util.ADEJBUtil.getRemotePermissionFacade(ADEJBUti
              >l.java:265)
              > at com.pws.ubiquity.common.web.action.LoginAction.authenticate(LoginActi
              >on.java:198)
              > at com.pws.ubiquity.common.web.action.LoginAction.perform(LoginAction.ja
              >va:109)
              > at org.apache.struts.action.ActionServlet.processActionPerform(ActionSer
              >vlet.java:1786)
              > at org.apache.struts.action.ActionServlet.process(ActionServlet.java:158
              >5)
              > at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
              >
              > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              >pl.java:265)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              >pl.java:200)
              > at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
              >rvletContext.java:2456)
              > at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
              >pl.java:2039)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >
              

  • Weblogic7/examples/clustering/ejb Automatic failover for idempotent methods ?

    This one should be easy since it is from the examples folder of bea 7 about
              clustering.
              Ref : \bea7\weblogic007\samples\server\src\examples\cluster\ejb
              I am referring to the cluster example provided with the weblogic server 7.0
              on windows 2000.
              I deployed Admin server and 2 managed server as described in document.
              Everything works fine as shown by the example. I get load balancing and
              failover both. Too Good.
              Client.java is using the while loop to manage the failover. So on exception
              it will go thru the loop again.
              I understand from the documentation that the stateless session EJB will
              provide the automatic failover for Idempotent stateless bean
              Case Failover Idempotent : ( Automatic )
              If methods are written in such a way that repeated calls to the same method
              do not cause duplicate updates, the method is said to be "idempotent." For
              idempotent methods, WebLogic Server provides the
              stateless-bean-methods-are-idempotent deployment property. If you set this
              property to "true" in weblogic-ejb-jar.xml, WebLogic Server assumes that the
              method is idempotent and will provide failover services for the EJB method,
              even if a failure occurs during a method call.
              Now I made 2 changes to the code.
              1 . I added as follows to the weblogic-ejb-jar.xml of teller stateless EJB
              <stateless-clustering>
              <stateless-bean-is-clusterable>true</stateless-bean-is-clusterable>
              <stateless-bean-load-algorithm>random</stateless-bean-load-algorithm>
              <stateless-bean-methods-are-idempotent>true</stateless-bean-methods-are-idem
              potent>
              </stateless-clustering>
              So I should get the automatic failover .............
              2. Also I added the break statement in the catch on line around 230 in
              Client .java
              catch (RemoteException re) {
              System.out.println(" Error: " + re);
              // Replace teller, in case that's the problem
              teller = null;
              invoke = false;
              break;
              So that the client program does not loop again and again.
              Now I compile and restart all my three servers and redeploy application (
              just to be sure )
              I start my client and I get a automatic load balancing between the server
              which makes me happy.
              But Failover ....?
              I kill one of the managed application server in cluster at any particular
              test fail point.
              I expect the exception to be taken care automatically by error/failover
              handler in the home/remote stub
              But the client program fails and terminates.
              1. What is wrong with the code ?
              2. Does the automatic failover with the indempotent methods also has to be
              taken care by coding the similar while loop for stateless ejb ?
              Your help will be appreciated ASAP.
              Let me know if you need any thing more from my system. But I am sure this
              will be very easy as it is from the sample code.........
              Thanks
              

    Sorry I meant to send this to the ejb newsgroup.
              dan
              dan benanav wrote:
              > Do any vendors provide for clustering with automatic failover of entity
              > beans? I know that WLS does not. How about Gemstone? If not is there
              > a reason why it is not possible?
              >
              > It seems to me that EJB servers should be capable of automatic failover
              > of entity beans.
              >
              > dan
              

  • ExportException+StubNotFoundException in Clustered EJB Deployment

              Hi All,
              I'm a Newbie to WebLogic and would appreciate help in solving my problem.
              I am running WLS 5.1sp6 on NT4 and am trying to implement a two server cluster on one machine.
              The cluster runs fine, but as soon as I try to deploy our EJBs in the cluster level properties file I get the exceptions listed in the attached log.
              In a standalone environment the EJBs function flawlessly but not in a cluster.
              Notice that the EJB is successfully deployed to the server but the exception crops up a little further down the track.
              The only unusual thing about the environment I can think of is the WebLogic CLASSPATH is disabled.
              The EJB deployment descriptor contains:
              <clustering-descriptor>
              <home-is-clusterable>True</home-is-clusterable>
              <stateless-bean-is-clusterable>True</stateless-bean-is-clusterable>
              </clustering-descriptor>
              Any ideas?
              Thanks in advance,
              Andrew
              [weblogic.log]
              

              Hi all,
              It seems it was a classpath problem ...I put the ejb jar file in the java classpath and now it works like a charm.
              Thanks for the tip Chris!
              Andrew
              "Chris Jones" <[email protected]> wrote:
              >
              >Hi,
              >
              >Sounds like a classpath problem. The cluster is trying to instantiate the EJB but the stub is not in the weblogicclasspath. I&#8217;m not sure what you mean when you say it is disabled.
              >
              >Hope this helps,
              >
              >Chris
              >
              >"Andrew Quinan" <[email protected]> wrote:
              >>
              >>
              >>
              >>Hi All,
              >>
              >>I'm a Newbie to WebLogic and would appreciate help in solving my problem.
              >>
              >>I am running WLS 5.1sp6 on NT4 and am trying to implement a two server cluster on one machine.
              >>
              >>The cluster runs fine, but as soon as I try to deploy our EJBs in the cluster level properties file I get the exceptions listed in the attached log.
              >>
              >>In a standalone environment the EJBs function flawlessly but not in a cluster.
              >>Notice that the EJB is successfully deployed to the server but the exception crops up a little further down the track.
              >>
              >>The only unusual thing about the environment I can think of is the WebLogic CLASSPATH is disabled.
              >>
              >>The EJB deployment descriptor contains:
              >><clustering-descriptor>
              >> <home-is-clusterable>True</home-is-clusterable>
              >> <stateless-bean-is-clusterable>True</stateless-bean-is-clusterable>
              >></clustering-descriptor>
              >>
              >>Any ideas?
              >>
              >>Thanks in advance,
              >>Andrew
              >
              

  • Clustering EJB's Across a Wide-Area-Network

     

    Hi Eric,
              If you have a highly reliable database access or replication strategy, I
              feel it is better to rely on that for failover across sites. IMHO.
              Peace,
              Cameron Purdy
              Tangosol, Inc.
              http://www.tangosol.com/coherence.jsp
              Tangosol Coherence: Clustered Replicated Cache for Weblogic
              "Eric Ma" <[email protected]> wrote in message
              news:[email protected]...
              >
              > As we are facing the same decision I am really interested in this thread.
              Are
              > you suggesting that because multicast across a WAN is not as reliable as
              in a
              > LAN environment, so we shouldn't use it? Do you think it is better to
              have multiple
              > LAN-based WebLogic clusters which do not talk to each other, and rely on
              database
              > replication for failover? Thanks for any advice.
              >
              > Eric Ma
              >
              > "Cameron Purdy" <[email protected]> wrote:
              > >>>I am working with a customer that is considering clustering several
              > >>>Stateless EJB's across a Wide-Area-Network and I'd like to find out
              > >if
              > >>>anyone else has successfully implemented such an environment. If so,
              > >what
              > >>>were the implications (performance, reliability, whatever). If not,
              > >perhaps
              > >>>someone can provide an alternative method for accomplishing load
              balancing
              > >>>and failover between the 2 sites.
              > >
              > >> WLS clustering should work fine across WAN., But as you know multicast
              > >> is not a reliable protocol so you should be very careful in setting
              > >up
              > >> the routers which will route the multicast packets across subnets.
              > >As
              > >> long as multicast packets live and sent reliably over the network you
              > >> should be fine.
              > >
              > >WLS can cluster fine across a lightly-loaded relatively-reliable WAN.
              > >You do
              > >need to turn on the ability to multi-cast across the WAN, which is
              usually
              > >a
              > >battle in and of itself. Usually, a separate cluster of WLS is run on
              > >each
              > >end of the WAN, and is not clustered across the WAN. The real question
              > >for
              > >setting up multi-site DR plans with Weblogic is "what are you failing
              > >over
              > >across the sites?"
              > >
              > >For example, do you have replicated databases? Master/slave or both live?
              > >How do you detect site failure? Is the database at a different site with
              > >the
              > >WL servers at their own 2 sites? Usually it's the database that handles
              > >the
              > >multi-site failover, not the WebLogic.
              > >
              > >BTW - if you're using Coherence with WebLogic, in our 1.2.1 release we
              > >have
              > >added a compression network filter that can drastically improve
              throughput
              > >with WAN clustering. It is available starting with 1.2.1 build 86, which
              > >is
              > >planned for availability later today.
              > >
              > >Peace,
              > >
              > >Cameron Purdy
              > >Tangosol, Inc.
              > >http://www.tangosol.com/coherence.jsp
              > >Tangosol Coherence: Clustered Replicated Cache for Weblogic
              > >
              > >
              > >"Kumar Allamraju" <[email protected]> wrote in message
              > >news:[email protected]...
              > >>
              > >
              > >
              > >
              >
              

  • Clustering EJB RMI

    Here is my scenario:
    - Weblogic cluster with three instances of the server;
    - On cluster is deployed an EJB stateless.
    - Launch the test client with three addresses: t3 :/ / localhost: 7003, localhost: 7004, localhost: 7005;
    - The client connects easily and enables you to understand about quele node in the cluster makes the call;
    - Properly run the round robin (server1 - server2 server3 and so on)
    - Stop the node one and the application continues to run only on server2 and server 3 correctly (failover)
    - I restart the server1 but the application is always and only on server2 and server3. (ignore that the server is Tormato of 1).
    My question is:
    But it should not be weblogic to inform the client that the server is back up?

    Here is my scenario:
    - Weblogic cluster with three instances of the server;
    - On cluster is deployed an EJB stateless.
    - Launch the test client with three addresses: t3 :/ / localhost: 7003, localhost: 7004, localhost: 7005;
    - The client connects easily and enables you to understand about quele node in the cluster makes the call;
    - Properly run the round robin (server1 - server2 server3 and so on)
    - Stop the node one and the application continues to run only on server2 and server 3 correctly (failover)
    - I restart the server1 but the application is always and only on server2 and server3. (ignore that the server is Tormato of 1).
    My question is:
    But it should not be weblogic to inform the client that the server is back up?

  • Using hardware LB w/ clustered EJBs

              In the context of hardware load-balancers the BEA docs only address the web tier.
              They never address the EJB tier. My question: can a replica-aware EJB proxy work
              through a HW LB? e.g.,
              EJB Client --> HWLB --> EJB Server
              It seems to me that it would work fine. The replica-aware proxy will be doing
              some load-balancing along with the HWLB, but that should not be a problem. Especially
              since we are using read-only stateless session beans.
              Does anyone have experience with this?
              Thanks,
              Rhett
              

    Any load-balancing will work for stateless EJBs. We've used round-robin DNS
              for this.
              Mike
              "Rhett Guthrie" <[email protected]> wrote in message
              news:3c4338ed$[email protected]..
              >
              > In the context of hardware load-balancers the BEA docs only address the
              web tier.
              > They never address the EJB tier. My question: can a replica-aware EJB
              proxy work
              > through a HW LB? e.g.,
              >
              > EJB Client --> HWLB --> EJB Server
              >
              > It seems to me that it would work fine. The replica-aware proxy will be
              doing
              > some load-balancing along with the HWLB, but that should not be a problem.
              Especially
              > since we are using read-only stateless session beans.
              >
              > Does anyone have experience with this?
              >
              > Thanks,
              > Rhett
              

  • Clustered EJBs

              Hi !
              I have set up two instances of WebLogic on the same physical machine ie. multi-homed. I am also able to deploy 'xyz' bean on both the instances and call bean methods through a client application. Unable to achieve the same through a client JSP. I get the following message displayed ....
              Inconsistent cookie, primary != me
              And, interestingly, no Exceptions are thrown on both the server windows.
              Any hints or leads ...???
              Thanks
              Vikram Kulkarni
              

    You don't need the DNS at all. You can just hard code all these ip addresses
              as parameters of the HttpClusterServlet.
              If you do use the DNS, use the DNS name which maps to two ip addresses as
              the parameter of the HttpClusterServlet.
              something like this:
              defaultServers=serverA:7001|serverB:7001
              Hope this helps
              Vikram Kulkarni <[email protected]> wrote in message
              news:[email protected]...
              >
              > Oh ! i was unaware about using the WLS as a proxy server in the Web
              Layer(as per recommended 2-tier architecture) by using HttpClusterServlet
              proxy to access JSPs.
              >
              > Now, I have enabled HttpClusterServlet proxy to access JSPs.
              >
              > I get the following error when attempting to access the URL
              http://localhost:7001/Test/fooBeanClient.jsp
              >
              > "Cannot find server or DNS Error"
              >
              > Do i need to do something with 'localhost' so that the DNS on my machine
              (Windows NT 4) maps this to the either of the two IP addresses running the
              separate instances of WL.
              > (I have a multi-homed configuration)
              >
              > Thanks !
              > Vikram
              >
              >
              > Dimitri Rakitine <[email protected]> wrote:
              > >Do you use plugin or HttpClusterServlet proxy to access JSPs?
              > >
              > >Vikram Kulkarni <[email protected]> wrote:
              > >
              > >> Hi !
              > >> I have set up two instances of WebLogic on the same physical machine
              ie. multi-homed. I am also able to deploy 'xyz' bean on both the instances
              and call bean methods through a client application. Unable to achieve the
              same through a client JSP. I get the following message displayed ....
              > >
              > >> Inconsistent cookie, primary != me
              > >
              > >> And, interestingly, no Exceptions are thrown on both the server
              windows.
              > >
              > >> Any hints or leads ...???
              > >
              > >> Thanks
              > >> Vikram Kulkarni
              > >
              > >
              > >Dimitri
              >
              

  • How to keep track of EJBs in case of failover under clustered environment?

    Does anybody know what happens with a stateless session EJB in
    weblogic 5.1 under clustered environment, in case of a failover (if
    one of computers dies), the one, which keeps that ejb in a pool?
    Does that EJB automatically go to the state "does not exist"?
    Is method ejbRemove() then called on that EJB?
    Or is it still in the "method-ready pool" state? Without ejbCreate()
    method being called on this EJB?
    Or does it disappear completely without those methods being called on
    this EJB?
    I need to organize some kind of tracking for those EJBs, and it is
    critically important for me to understand what exactly methods are
    called on those EJBs.
    I saw this, but it does not answer my question:
    Clustered EJB
    All EJBs are clusterable. If an EJB is deployed on multiple servers in
    the cluster, each of these servers will be able to host instances of
    the bean. This does not necessarily mean, however, that the bean
    instances are clustered.
    EJB Homes
    All bean homes are clusterable. When a bean is deployed on a server,
    its home is bound into the cluster-wide naming service. Because homes
    are clusterable, each server can bind an instance of the home under
    the same name. When a client looks up this home, it gets a
    replica-aware stub that has a reference to the home on each server
    that deployed the bean. When create() or find() is called, the
    replica-aware stub routes the call to one of the replicas. The home
    replica that receives the finds or creates an instance of the bean on
    its server.
    Stateless EJBs
    When a home creates a stateless bean, it returns a replica-aware stub
    that can route to any server on which the bean is deployed. Because a
    stateless bean holds no state on behalf of the client, the stub is
    free to route any call to any server that hosts the bean. Also,
    because the bean is clustered, the stub can automatically fail over in
    the event of a failure. The stub does not automatically treat the bean
    as idempotent, so it will not recover automatically from all failures.
    If the bean has been written with idempotent methods, this can be
    noted in the deployment descriptor and automatic fail-over will be
    enabled in all cases.
    Thanks

    Check out Java's support for udo/redo: [http://java.sun.com/javase/6/docs/api/javax/swing/undo/package-summary.html]
    Also, google the "Memento Pattern".
    You don't have to make copies of objects, just maintain commands the can undo and redo your program's state.

  • EJB Deployment Question

    If your servlets are running in the same instance as your EJBs, do you
              need to make the EJBs clusterable (i.e. set the deployment descriptor
              properties)? We have the same EJBs deployed on each server (5.1 SP8)
              and we have been getting conflict handler errors for each EJB when we
              start the second server (shown below)
              Wed Aug 01 09:05:37 CEST 2001:<I> <ConflictHandler> ConflictStop
              com.es.messaging.ESMessageQueueManagerHome_EO:com.es.messaging.ESMessageQueueManagerBeanEOImpl
              (from
              [email protected]:[7001,7001,7002,7002,7001,-1])
              Support tells us that if EJBs are deployed on every server in a cluster,
              then they MUST be configured to be clusterable. Why is that? Since
              they are running in the same JVM as the servlets, we don't want EJB load
              balancing or fault tolerance.. I would think that the non-clusterable
              EJBs would not be added to the the cluster-wide JNDI. Also, we have
              deployed this way in SP 5 and 6.0 SP2 and we never got any conflict
              errors. If we do need to make them clusterable, can someone explain
              why? Thanks.
              Kirk
              

    If you're using WLS 9.x, then I would package the ejb-client-jar as a library.
    If you're using an older version, then you have the 2 choices you mentioned (packaging it in each war file or putting in on the classpath.)
    The advantage of the classpath is you have the file in only 1 place. The disadvantage is you must restart the server to update it.
    Placing it in each webapp means you have N copies of the jar file, but you'll be able to take an update by just redeploying the webapp not restarting the entire server.
    WLS 9.x's libraries give you the best of both worlds. You only manage 1 copy of the file, but you do not need to restart the server. You can also have multiple versions of a given library.
    -- Rob
    WLS Blog http://dev2dev.bea.com/blog/rwoollen/

  • CDI not working in Weblogic 12c Embedded EJB Container?

    Hi,
    we are trying to use embedded ejb container from weblogic 12c (12.1.2.0) for our junit tests.
    As our application is running in weblogic 12c, we would like to run our tests  in same environment.
    But we encountered two problems, which brings me to the conclusion that CDI is not working correctly in embedded ejb container.
    1. CDI Interceptor are not working
    2. CDI Objects (@Inject) are null
    I can provide an error message, which I think is thrown, when container tries to access the interceptor, because if I delete the interceptors the error message gets no longer thrown:
    Caused by: java.lang.UnsupportedOperationException: authenticatedLookup is unavailable for BasicNamingNode types
          at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:234)
          at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:463)
          at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:274)
          at weblogic.jndi.internal.ServerNamingNode_12120_WLStub.authenticatedLookup(UnknownSource)
          at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:483)
    We just want to know, if CDI is not working in embedded ejb container, so we can go ahead and look for another solution for our junit tests.
    Stefan

    Hi There,
    If you have access to Oracle Support Portal, please go through below Knowledge Articles which can provide more information on your requirement:
    Sample Application Using Timer API (CommonJ) to configure Timer Based tasks in Oracle WebLogic Cluster 10.3.X Cluster (Doc ID 1614886.1)
    Clustered EJB Timer - The minimum time for recurring execution of a timer (Doc ID 1931091.1)
    Let us know if it helps.
    Cheers,
    Naveen

  • Problem with clustering with JBoss server

    Hi,
    Its a HUMBLE REQUEST TO THE EXPERIENCED persons.
    I am new to clustering. My objective is to attain clustering with load balencing and/or Failover in JBoss server. I have two JBoss servers running in two diffferent IP addresses which form my cluster. I could succesfully perform farm (all/farm) deployment
    in my cluster.
    I do believe that if clustering is enabled; and if one of the server(s1) goes down, then the other(s2) will serve the requests coming to s1. Am i correct? Or is that true only in the case of "Failover clustering". If it is correct, what are all the things i have to do to achieve it?
    As i am new to the topic, can any one explain me how a simple application (say getting a value from a user and storing it in the database--assume every is there in a WAR file), can be deployed with load balencing and failover support rather than going in to clustering EJB or anything difficult to understand.
    Kindly help me in this mattter. Atleast give me some hints and i ll learn from that.Becoz i could n't find a step by step procedure explaining which configuration files are to be changed to achieve this (and how) for achiving this. Also i could n't find Books explaining this rather than usual theorectical concepts.
    Thanking you in advance
    with respect
    abhirami

    hi ,
    In this scenario u can use the load balancer instead of fail over clustering .
    I would suggest u to create apache proxy for redirect the request for many jboss instance.
    Rgds
    kathir

  • Problem with clustering with JBoss server---help needed

    Hi,
    Its a HUMBLE REQUEST TO THE EXPERIENCED persons.
    I am new to clustering. My objective is to attain clustering with load balencing and/or Failover in JBoss server. I have two JBoss servers running in two diffferent IP addresses which form my cluster. I could succesfully perform farm (all/farm) deployment
    in my cluster.
    I do believe that if clustering is enabled; and if one of the server(s1) goes down, then the other(s2) will serve the requests coming to s1. Am i correct? Or is that true only in the case of "Failover clustering". If it is correct, what are all the things i have to do to achieve it?
    As i am new to the topic, can any one explain me how a simple application (say getting a value from a user and storing it in the database--assume every is there in a WAR file), can be deployed with load balencing and failover support rather than going in to clustering EJB or anything difficult to understand.
    Kindly help me in this mattter. Atleast give me some hints and i ll learn from that.Becoz i could n't find a step by step procedure explaining which configuration files are to be changed to achieve this (and how) for achiving this. Also i could n't find Books explaining this rather than usual theorectical concepts.
    Thanking you in advance
    with respect
    abhirami

    hi ,
    In this scenario u can use the load balancer instead of fail over clustering .
    I would suggest u to create apache proxy for redirect the request for many jboss instance.
    Rgds
    kathir

  • Deploying EJBs on multiple nodes

    Hi,
    Our Application works when we deploy it on a single node. But the moment we deploy
    it with multiple nodes,we are getting a exception:
    java.lang.NoClassDefFoundError: javax/xml/bind/UnmarshalException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:120)
    Our deployment looks correct for me.
    We have specified each node in the target like:
    <EJBComponent Name="ecommerce" Targets="monode3,monode2,monode1,monode4,monode5,monode6"
    URI="ecommerce.jar"/>
    Any clues from anyone?
    Thanks,
    Jeeva

    You didn't give the full stack trace. No thread starts executing at
    Class.forName ;-)
    What's happening is that you are dealing with XML, probably in your
    clustered EJBs or in your HTTP session, and so it's getting replicated. The
    XML pops out onto the other end of the wire, the code loaded from the system
    classpath tries to deserialize it, but can't find your application classes.
    That's a common problem with object transfer protocols.
    Do you know where you are using javax/xml?
    Peace,
    Cameron Purdy
    Tangosol Inc.
    Tangosol Coherence: Clustered Coherent Cache for J2EE
    Information at http://www.tangosol.com/
    "Jeeva" <[email protected]> wrote in message
    news:3c3a8401$[email protected]..
    >
    Hi,
    Our Application works when we deploy it on a single node. But the momentwe deploy
    it with multiple nodes,we are getting a exception:
    java.lang.NoClassDefFoundError: javax/xml/bind/UnmarshalException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:120)
    Our deployment looks correct for me.
    We have specified each node in the target like:
    <EJBComponent Name="ecommerce"Targets="monode3,monode2,monode1,monode4,monode5,monode6"
    URI="ecommerce.jar"/>
    Any clues from anyone?
    Thanks,
    Jeeva

Maybe you are looking for