EJB calls in clustered environment with load balancers

Hi,
I am using WebSphere 6.1 (WAS) as my AppServer.
Lets say I have two nodes, node A and node B, as my APPSERV nodes in a cluster.
From a shell script, present on a node (lets say node A), I am invoking a business method in my EJB (lets say Bean.methodToBeCalled()) using the connection as "localhost", as my requirement is that through this call, I need to have the EJB call to node A only, i.e. only the bean on the current node should get invoked. Not the bean on node B.
However, I am not getting the expected result as the call is randomly getting directed to either node A or node B depending on the load balancer logic implemented by WAS.
I referred to the link which explained how EJB clustering works in WAS.
Is there some way I can achieve the desired result?
Thanks.

Do you have an entry in the table for the corresponding primary key in the Staging database?
          Thanks
          Seshi

Similar Messages

  • Outlook client behaviour with load balancers when moving DB

    Hi there,
    My setup is 3 mailbox servers in a CAS array. I use hardware load balancers pointing outlook clients at the CAS array (mail.company.com). I am doing some maintenance which is involving moving certain DBs to different drives. I dismount the DB and change
    the DB path to begin the move. When I do this within minutes of starting the maintenance, our hardware load balancers get almost flooded to capacity with client connections. We need to understand exactly what is happening here. My guess is that as the
    DB is offline, the clients just sit there and attempt to constantly reconnect. We have hundreds of thousands of available connections which get saturated almost instantly.
    Why do the clients attempt so many connections? Can this be prevented? I also dont understand why the load balancers arent keeping the connections open for longer so each time a client reconnects it just uses the same already open connection
    Does anybody have any thoughts/advice/experience with this?
    Thanks, Lamby.

    Hi,
    Hardware load balancers continuously monitor the load on the server and try to distribute the load evenly. Load balancing ensures that the load on your Client Access server is evenly distributed, not based on the database level. If one CAS server fails,
    Outlook would still access database. However, if one database is offline, Outlook client would continue to connect to the same RPC Client Access Server array to access database, even though this database is failed.
    If you want to keep the high availability for database level, you can deploy a DAG.
    Best regards,
    Belinda
    Belinda Ma
    TechNet Community Support

  • EJB call across server instance with multiple Datasource

    Hi,
              I posted in the EJB group and was told people here will be able to help.
              I'm currently facing a serious integration problem. The problem occurs when an EJB in my application (my instance) tries to call another EJB in a separate application (in another instance). Hope someone can help me to overcome this.
              My setup is WLS 8.1 SP2 (1 domain, 2 instances) with Oracle 9i.
              The scenario is as follows:
              EJB A (tx required) in instance A calls EJB B (tx required) in instance B.
              EJB A uses datasource A in instance A to update database A and EJB B uses datasource B in instance B to update database B.
              When I tried with both datasources using non-XA driver and both using XA driver the result is the same, EJB A executes fine and can successfully invoke the method on EJB B. But when EJB B tries to lookup the datasource B, it goes to instance A to do that and of course fails to find it.
              It only works when I create and deploy datasource B (XA) to instance A as well, meaning I now have datasources A and B in instance A.
              It all works well when I use a servlet(e.g.) in instance A to call EJB B. Leading me to suspect that the error could be due to some problems or behaviour which I may have missed out during the propagation of the transaction or the EJB context.
              This behaviour seems very illogical, can someone please enlighten me. Any help will be very much appreciated.
              Thanks,
              Kelvin

    You might try asking this over in the transaction group:
    http://forums.bea.com/bea/forum.jspa?forumID=2052
    -thorick

  • MDB behaviour in Clustered environment

    Hi, I am a bit confused with regards to how a message delivery will behave in a clustered environment on a app server.
    As far as Queue is concerned, I am clear that it will be delevered to one and only one of the MDBs.
    But for Topic, how can load balancing effect the Topic subscriptions? Does the Topic then behave in the same manner as the Queue?
    I have a J2EE app that is running in clustered env( can be any app server). It has one MDB. I need to send messages to all the application instances at the same time. I am not sure if this solution will work in a clustered environment with JMS load balancing, and I am afraid that this solution will misbehave. Hence the question :)

    Delivery to topics is based on subscriptions. One copy of a message is delivered to each subscription. A subscription is identified (in most providers) by the combination of the client id and subscription name. In a clustered environment, each node of the cluster will have a different client id and therefore get a different copy of a message.
    Some JMS providers allow for something called group or shared subscriptions where the client id is removed from the subscription identifier and replaced by a group id. This allows two nodes in a cluster to share a subscription to a topic allowing whichever client is up to consume exactly one copy of a message among all nodes in a cluster.
    I have to admit that I haven't gotten around to implementing such a feature in my own JMS implementation, but it is on the list.
    Dwayne
    ============
    http://dropboxmq.sourceforge.net

  • Problem in Blazeds with Jboss Clustering ( Mod_JK with SSL )

    Hi,
         We are running our flex application in jboss clustering environment with the help of Apache mod_jk(Apache Web server as front end with mod_ssl enabled). We are using the SecureAMFChannel as we deploy the application in SSL. We use the RemoteObject for communicating with Java.
    The Application is running fine when we have only one node of JBoss. But once we add one more node to the cluster the application throws the following exception .
    Duplicate HTTP-based FlexSession error: A request for FlexClient 'FDCA49A7-9317-4D8A-881F-9248B1136E7A' arrived over a new FlexSession 'C9C563B8266A03C2207C00796CD7DFF1', but FlexClient is already associated with  FlexSession '8A328320F5C530D55E94568996A1B552', therefore it cannot be associated with the new session.
    As I am maintaing the session in the server, I need to use the JBoss cluster for session replication. I heard that flex clustering is not needed as we have mod_jk and it will do all the stuff for us.
    I checked with simple application without any session data also then too I faced the same problem.
    After the very first login, I can see 2 session created simultaneously and destroyed. I checked the application whether it calls twice before the session is created, but it is calling only once.
    Also when application connects with server2 and if I down the server2 my flex application throws the error that the server is not found, It is not detecting the other server.But it works once I refresh the browser.
    Application Environment Details
    JBoss 6
    Blaze Ds 4.5
    Apache Web server 2.2.21
    Mod_JK   1.2.32
    Mod_SSL 2.8.31
    Thanks,
    Suresh T
    I enabled the sticky session in Mod_jk .
    It is working when the connection is not secure(http) in both apache web server and jboss web server ). But when the connection is https the above problem is happening .
    Message was edited by: suresh.thirumurugan

    Hi,
     Thanks for your info.
      It worked for me as well.
    Thanks,
    Prasad
    On 6/26/08,
    Matthieu Labour <
    [email protected]> wrote:
    A new message was posted by Matthieu Labour in
    Configuration and Getting Started Discussion --
      Problem with configuring BlazeDS with JBOSS
    You might want to download the following tutorial
    http://sebastien-arbogast.com/2008/04/10/flex-spring-and-blazeds-the-full-stack/
    it works on jboss
    Best
    Matt
    View/reply at
    Problem with configuring BlazeDS with JBOSS
    Replies by email are OK.
    Use the
    unsubscribe form to cancel your email subscription.

  • Deploying in Clustered environment..

    We are using Toplink 10.1.3 in our application and deploying the application in clustered environment. The application is running fine in single node but when deployed in clustered environment with 2 nodes of Jboss application server (4.0.3 sp1) then we are encountering OutOfMemory problem.
    Can anyone help us whether there any specific settings that need to be done for Toplink to deploy the application in clustered environment...
    An early response will be highly appreciated..
    Thanks,

    Is your configuration any different in the clustered environment? Are you using cache-coordination/synchronization in TopLink?
    Any idea of what the application is doing that leads to the server running out of memory?
    You may wish to use a memory profiler such as JProfiler or JProbe on the server to determine the cause of the memory leak.

  • Different WAR File for OSB and SOA Load Balancers on  Clustered Environment

    Hi,
    Do we need different proxyapp.war Files for each Load Balancer of SOA and OSB Respectively on a Clustered Environment?
    Thanks in Advance.

    Hi,
    Yes you need to have different .war file placed different server to have multiple load balancers.
    Regards,
    Kal

  • 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.

  • Error when calling BPEL from ESB in clustered environment

    Hi
    We have recently installed SOA Suite in a clustered environment and have a serious issue.
    I am not able to call BPEL processes from my ESB services via WSIF (by using the 'browse target operation' in JDeveloper). The exception i get at runtime is this.
    "javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not found"
    When I instead call the BPEL process via SOAP (by using a SOAP invocation service i JDeveloper) it works fine.
    Everything works fine in development environment which not are clustered.
    Has anyone any excperience from using ESB in a clustered environment?
    Regards
    Kalle Viklund

    Hi
    ESB and BPEL resides in the same oc4j-instance. Though, esb-rt and orabpel are different applications in that oc4j-instance. And the lookup 'ejb/collaxa/system/DeliveryBean' only exists in the orabpel application.
    In the ESB Console I already have the same setting for the 'BPELSystem' as for the 'Defaultsystem'.
    Cluster name: esb_prod
    Virtual host: prod1.sth.nu
    Port: 80
    Topic location: ESBTopics/Topics/ESB_JAVA_DEFERRED
    Connection factory location: OracleOJMS/XATCF
    regards
    Kalle

  • Problem with instant message in clustered environment

    Hello, I have some problem with Instant Message service.
    We need to use it in our Production Environment (a clustered emvironment with a central instance, two dialog instances and two web dispatchers), some months ago we tested it in Development Environment (not clustered emvironment, just a single system) and it worked fine.
    So I did the same configurations on Production Environment but it did not work.
    But if I access on my portal (Production Env.) by the central instance (avoiding the dispatchers) the instant message service works.
    I think it can be a web dispatcher's configuration problem, in its logs I found the message :
    "<i>[Thr 3700] *** ERROR => htmlEncode: called with empty string [icpif.cpp 847]</i>"
    I' ve repeated the same configuration done in Dev.Env. (no dispatcher) on the Prod.Env. (with 2 dispatcher), is possible that I'm missing some configurations??
    Could someone helps me?
    Best Regard
    null

    Hi Alessandro,
    unfortunately I got the same problem but I haven't found the solution yet.
    Hoping someone will help us.
    Regards  Nicola

  • OCS on a cluster with Load balancing and fail safe environment

    Dear all,
    i want to ask is there any documat or hints on how to do an OCS R2 installaiotn on 3 server with RAC option (clustered Fail Safe), how can i install OCS on a cluster with Load balancing and fail safe environment.
    plz i need ur help
    thanking u
    [email protected]

    Dear all,
    i want to ask is there any documat or hints on how to do an OCS R2 installaiotn on 3 server with RAC option (clustered Fail Safe), how can i install OCS on a cluster with Load balancing and fail safe environment.
    plz i need ur help
    thanking u
    [email protected]

  • Load balancers with web servers & policy agents

    I have a pair of host machines, hostA and hostB, running multiple web server instances, portalA, portalB, contentA, contentB, serviceA, serviceB, etc.
    The two hosts, hostA and hostB, are sitting behind load balancers. ServiceA and serviceB must be protected by login and I have a policy agent installed on hostA and hostB for these two instances.
    The load balancers respond to https://service/* and forward requests to http://serviceA:3456/* or http://serviceB:3456/* depending on the host selected by round-robin.
    I've been told that serviceA and serviceB cannot be running on the default 443 port (although we could enable SSL if we wanted) in order to work nicely with the other web server instances that are behind the load balancers.
    The problem is that the policy agent knows that it is running as http://serviceA:3456/.
    The user makes a request to the load balancers for:
    https://service/protected.html
    The load balancer passes the request to:
    http://serviceA:3456/protected.html
    The agent sends a redirect to login which sends the user to:
    http://service:3456/protected.html
    This final URL is not available through the load balancers and it's obviously not the public URL.
    I have fqdnDefault set to 'service.x.x' so the URL is rewritten to that extent. Is there a way to tell the agent that the port it's running on is not the public port (ie. that it's behind a NAT device)? Is there a way to tell the agent that it's should actually redirect to https and not http?

    Hi,
    CQ authoring does not leverage server side sessions, therefor you'll never loose data because of this.
    But: As the cluster has a small delay on synchronisation, it could be, that on a write and subsequent read you'll get the old content, if you don't have sticky sessions (because both requests are not processed by the same server). Therefor I advise you to use sticky sessions in front of a CQ authoring cluster.
    Jörg

  • Problem with uploading a file in Clustered Environment

    Hi,
    I have a problem with uploading a file in a clustered environment. I have an iview component which facilitates an upload action of an xml config file. The problem is that the upload of the modified XML file is reflected only in the central instance of the cluster and not in the dialog instances. The dialog instances hold the old config file.
    Is there any solution to upload the file to all the nodes in the cluster.
    Thanks
    Kiran

    Hi,
    This is a known problem with clustered environment. Remember that your portal component runs on just on dialog instance and it doesn't automatically have access to the other nodes.  However, there are some ways to get around this
    1. Use KM to store files. KM is a common repository for all application servers and therefore you needn't worry more
    2. Use an external batch oriented product (suresync/robocopy) to synch folders on the different DIs. You basically use your existing portal component, but there is a batch job which makes sure the upload folder is identical on all DIs (however, there is a slight delay depending on how often you run the batch job)
    3. Store the files on a shared disk directly from the portal component.
    Cheers
    Dagfinn

  • Which connection I should use in the ejb clustered environment

    We use EJB in jboss cluster environment. We have one oracle database.
    our existed system use TXConnection(transactional connection) for the data insert, update and delete. Using the Connection for the data retriving.
    I think TXConnection fits to use for the distributed database. So we should change our DAO layer to use only Connection.
    Is that true?
    Need help.
    Thanks.
    Jack Tie

    Huh? Connection is an interface. You will have to use
    any implementation anyway.It is not so simple. This is a legit question because he has asking if a specific implementation is required.
    It would have been better posted in the JDBC forum. I don't know what the answer is for certain but I would lean towards yes it is required because of the clustered nature.

  • LOGON LOAD BALANCING WITH THIRD PARTY LOAD BALANCERS

    Hello Everybody,
    We would like to implement third party Application Load Balancers for all our Applications including SAP Landscape (HTTP and SAP LOGON).
    Could you please indicate which third party load balancers are compatibles with SAP LOGON GROUP LOAD BALANCING ? 
    Thanks for your help.
    Mauricio Cardozo.

    Hello Mayank,
    how we we can maintain the logon load balancing for http requests
    Use the SAP webdispatcher (and logon groups on services) for that ....
    http://help.sap.com/saphelp_nw04/helpdata/en/5f/7a343cd46acc68e10000000a114084/content.htm
    Regards
    Stefan

Maybe you are looking for

  • External's for Editing

    Hey, Just a quick one. What would be the best type of external drive or connection from external to mac be if I wanted to edit with material directly off the external? Firewire would be acceptable for lower file siezes, but what would be the best for

  • Software instalation on nokia n73

    Hello everybody, I'm new on this, but lets see how it goes... I just bought SkyeCaller - Full Screen Caller Display software for my n73 and when i tryed to install it i got an instante message on my phone saying "corrupt file" and can't install it! C

  • Solaris 10 sparc + mysql + perl + dbd mysql + apache2

    Is there any sane way to build dbd 4.013 mysql on a clean solaris box with sunstudio installed? I want to use the mysql that comes with solaris 10. I want to use the perl installation that comes with solaris 10. I have been trying to build it for day

  • Output of BA00 to user default printer

    Hi ! We would like the system to automatically set the output device on BA00 (Sales Order Conf) printouts to the default output device specified in the user profile (SU3 defaults). Please let me know if there is a way to do this automatically (withou

  • How to access syncing privileges on iPod?

    I recently got a new laptop and successfully transfered my iTunes Library. Now I want to sync my iPod Touch(4th gen) and it keeps telling me that I don't have enough access privledges. I don't know why because I can sync my iPhone 5 just fine. How do