Topic subscriber in JMS cluster

          I have clustered 2 JMS servers, A and B. The subscriber is listening to the topic
          . The subscriber used the cluster ip address in the intial context to connect to
          the server t3://A,B:7010 and listen to the topic . FYI The connection factory is
          deployed to the cluster.
          The subscriber receives the message sent by the publisher.
          But when say server A fails , the Publisher still can publish messages to server
          B (failover works) , but the subscriber stops receiving the messages.
          I thought in clustered environment the subscriber would still receive messages if
          it connects to the topic using the connection factory deployed on the cluster.
          Can somebody throw an insight!!
          Thanks
          Ashok
          

I assume you're on 6.0?
          Which server did you target your topic? If that server fails, then no, you will not be able to
          subscribe to anything...
          Gene
          "ashok shamnani" <[email protected]> wrote in message news:3a880141$[email protected]..
          >
          > I have clustered 2 JMS servers, A and B. The subscriber is listening to the topic
          > The subscriber used the cluster ip address in the intial context to connect to
          > the server t3://A,B:7010 and listen to the topic . FYI The connection factory is
          > deployed to the cluster.
          >
          > The subscriber receives the message sent by the publisher.
          > But when say server A fails , the Publisher still can publish messages to server
          > B (failover works) , but the subscriber stops receiving the messages.
          >
          > I thought in clustered environment the subscriber would still receive messages if
          > it connects to the topic using the connection factory deployed on the cluster.
          >
          > Can somebody throw an insight!!
          >
          > Thanks
          > Ashok
          

Similar Messages

  • Weblogic JMS Cluster

    Hi,
              I have a 6.1 cluster that has a JMS server A and a JMS Server B
              deployed and running on each of the managed nodes. As destination I
              created a topic with the same name for each JMS Server. The connection
              factories I deployed to the cluster only.
              My problem is, when I start the second managed server, I get the
              following error:
              <Error> <Cluster> <Conflict start: You tried to bind an object under
              the name
              com.csg.pb.tit.tms.TMSSignalTopic in the JNDI tree. The object you
              have bound
              from 169.59.5.26 is non clusterable and you have tried to bind more
              than once
              from two or more servers. Such objects can only deployed from one
              server.>
              When I understand correctly, this happens because the JNDI tree gets
              distributed to all nodes of the cluster, so there would be two object
              with the same name. How do I solve this situation? Do I have the
              specify different names for topics in different JMSServer running in a
              cluster? How would the load balancing work?
              Please help. Thanks in advance
              Juerg
              

    Tom,
              Thanks for your help so far, I installed the patch and got things
              working. However I still have some open points where you might be able
              to help.
              Let's assume I don't have these smart forwarders and I have four
              topics per JMSServer deployed to two managed nodes. Connection
              factories deployed to the cluster. When I connect N publishers
              through the cluster, messages from one publisher end up in the
              appropriate topic on nodeA, messages from another publisher end up in
              the appropriate topic on nodeB. Now when I connect a durable
              subscriber via the cluster I only get messages from topics from one of
              the managed nodes, right? (This is exactly what I am seeing in my
              tests) Connecting durable subscribers to each managed node is not
              possible because of JNDI (throws exception like
              InstanceAlreadyExists). How would I connect a subscriber so that it
              subscribes to the right topics on the right node ( one the works with
              the previously described publisher)?
              All this leads me to the conclusion, that without the forwarders, a
              JMS cluster with Weblogic 6.1 is not so powerful, it basically does
              just load balacing.
              Is this correct or am I missing something important here?
              Thanks a lot and have a nice weekend
              Juerg
              Tom Barnes <[email protected]> wrote in message news:<[email protected]>...
              > Juerg Staub wrote:
              > > Tom,
              > >
              > > Thanks a lot. Bascially I did everything right, just need the patch.
              > >
              > > In the other hand I'd like to know what the benefits of the smart
              > > forwarders would be. When I understand correctly, every message would
              > > be forwarded to the appropriate topic in the different JMS servers.
              > > What would that bring in the case of a failure(one node of a cluster
              > > goes down)? As far as I can see, I still would need to 're-establish'
              > > the connection factory, topic session, topic and publisher in order to
              > > publish messages again?
              > >
              >
              > Yep. I think we are on the same page:
              >
              > The "smart-forwarders" would do what the 7.0 distributed topic
              > forwarders do for you. They would forward messages bound to
              > a particular physical topic to all instances of the topic.
              > This can be implemented via a durable subscription on a
              > member topic by each remote member topic's host.
              > MDBs could be used to service the durable subscription,
              > as they already have the reconnect logic built in.
              > (Durable subscriptions are used if you wish to guard against
              > lost messages). The forwarders
              > need to change a property on the message to indicate
              > that the message is already forwarded, and forward
              > only messages that have'nt been forwarded (to prevent
              > endless loops!).
              >
              >
              > > Thanks
              > >
              > > Juerg
              > >
              > > Tom Barnes <[email protected]> wrote in message news:<[email protected]>...
              > >
              > >>I suggest you read the "emulating 7.0 distributed destinations"
              > >>section of the JMS performance white-paper available on dev2dev.bea.com.
              > >>You will need to apply the referenced enhancement patch on top of SP3 to
              > >>disable JNDI replication (or update to 6.1SP4).
              > >>
              > >>If you need to create a true distributed topic, you will also need to
              > >>write your own "smart-forwarders" to forward messages
              > >>between the different physical instances of the topic. Or simply
              > >>use WL JMS 7.0 (the upgrade from 6.1 is straight-forward).
              > >>
              > >>Tom
              > >>
              > >>Juerg Staub wrote:
              > >>
              > >>>Hi,
              > >>>
              > >>>I have a 6.1 cluster that has a JMS server A and a JMS Server B
              > >>>deployed and running on each of the managed nodes. As destination I
              > >>>created a topic with the same name for each JMS Server. The connection
              > >>>factories I deployed to the cluster only.
              > >>>
              > >>>My problem is, when I start the second managed server, I get the
              > >>>following error:
              > >>>
              > >>><Error> <Cluster> <Conflict start: You tried to bind an object under
              > >>>the name
              > >>>com.csg.pb.tit.tms.TMSSignalTopic in the JNDI tree. The object you
              > >>>have bound
              > >>>from 169.59.5.26 is non clusterable and you have tried to bind more
              > >>>than once
              > >>>from two or more servers. Such objects can only deployed from one
              > >>>server.>
              > >>>
              > >>>
              > >>>When I understand correctly, this happens because the JNDI tree gets
              > >>>distributed to all nodes of the cluster, so there would be two object
              > >>>with the same name. How do I solve this situation? Do I have the
              > >>>specify different names for topics in different JMSServer running in a
              > >>>cluster? How would the load balancing work?
              > >>>
              > >>>
              > >>>Please help. Thanks in advance
              > >>>
              > >>>Juerg
              > >>
              

  • Topic subscriber not receive messages

    Hi,
    I have a simple jms topic application.
    I use the default topic demoTopic and the defaul connection factory.
    But the subscriber don't works, the onMessage method of the listener is never called...
    this is the code for the publisher:
    ctx = new InitialContext();
    tcf = (TopicConnectionFactory) ctx.lookup("jms/TopicConnectionFactory");
    topicConnection = tcf.createTopicConnection();
    topicConnection.setClientID("111111");
    topicSession = topicConnection.createTopicSession(true,Session.CLIENT_ACKNOWLEDGE);
    topic = (Topic) ctx.lookup("jms/demoTopic");//topicSession.createTopic(conf.topic);
    publisher = topicSession.createPublisher(topic);
    this is the code for the subscriber:
    ctx = new InitialContext();
    tcf = (TopicConnectionFactory) ctx.lookup("jms/TopicConnectionFactory");
    topicConnection = tcf.createTopicConnection();
    topicConnection.setClientID("111111");
    this.setTopicConnection(topicConnection);
    topicSession = topicConnection.createTopicSession(true,Session.CLIENT_ACKNOWLEDGE);
    topic = (Topic) ctx.lookup("jms/demoTopic");//topicSession.createTopic(conf.topic);
    topicListener = new HeartbeatTopicListener(topicSession, heartbeat);
    topicSubscriber = topicSession.createDurableSubscriber(topic,conf.durableSubscriberName);
    topicSubscriber.setMessageListener(topicListener);
    The publisher works fine...in the log file the calling of the send method appear correct, but the subscriber not responds...
    Any suggestion?
    Thanks

    Where is the producer and consumer code running? Server container (OC4J), Client container (application client), plain jms client.
    Besides traditional "check the log for exception" tips.
    0) register an ExceptionListener on the connection. If you are not using the connection other than for the MessageListener, you will not learn about Exceptions without setting an ExceptionListener.
    1) make sure that there are no race conditions:
    a) the listener infrastructure is set up before messages you want to receive are sent
    b) a JMS Session object is used only by one thread. E.g., when a MessageListener is used, JMS spec prohibits using the same session from other threads (using it MessageProducers/Consumers etc). Only close() methods can be called from other threads.
    2) I don't expect this to be a problem here since OC4J JMS does not enforce the client id uniqueness, however, the JMS spec prohibits two concurrent connections with the same client id as in your example. It were a problem if you used NoLocal when creating the subscriber.
    3) Check that you are not using a too restrictive/buggy selector.
    Gera

  • Problem instaling Subscriber in netware cluster

    Hello.
    I am using ZSM 7.0.1 installation program and trying to install only
    subscriber functinality on a cluster OES Netware with Sp5.
    The installation says it goes successful in the 2 logfiles that comes up
    after the installation but when I try to offline and then online the
    cluster-volume with the ZSM7 installed on it it goes into comatose because
    the zfs.ncf is missing in the zenworks folder on the volume. I can not find
    the file on any other volume on the server. I also have the ZDM701 installed
    on the server before I install ZSM701 on it. The ZDM701 install was totaly
    fine and it works great. The only ZDM701 services installed on the server on
    the same volume is WOL, Import and Removal.
    So my question is, how am I supose to get the right files and folders into
    the cluster and to get it work. It should not be a problem.
    Does anyone no what to do.
    Thanks
    Best regards Jonas Rydstrom

    ZSM is supported on a cluster, you have to choose though to have either a
    single cluster resource installed with ZSM or installing in on the
    individual nodes. In this case it looks like Jonas installed ZSM on a
    cluster resource, that's supposed to work, not sure why zfs.ncf isn't there.
    Ron
    "Jared Jennings" <[email protected]> wrote in message
    news:Jv_4i.5587$[email protected]..
    > Jonas Rydstrm,
    >
    >>OK, can you be more specific about what is not supported. I was succesful
    >>installing both ZDM701 and ZSM701 Distributor, Subscriber and database on
    >>a
    >>single server to specific zenworks volume and the services on that server
    >>seems to run fine.
    >
    > It is not supported to run individual subscriber objects on cluster nodes.
    > The only portion of ZFS that is supported in a cluster environment is the
    > distributor object.
    >
    > So, you are correct in that you can run ZFS, ZFD, and the database on a
    > non-clustered server.
    >
    > You can also run ZFD on a clustered resource. The ZFD 7.0 with SP1 install
    > correctly installed all the files to the clustered volume so that the
    > services could load and fail-over with the information being consistent.
    > All ZFD services load from \\clusteredvolume\public or
    > \\clusteredvolume\system etc.
    >
    > ZFS supports clustered environments, but the clustered resource that loads
    > the distributor code, cannot send distributions to subscriber objects
    > representing nodes in the cluster, nor can it send to the clustered
    > subscriber object that does exist and represents the clustered zfs
    > resource.
    >
    > --
    > Jared Jennings - Data Technique, Inc.
    > Novell Support Forums Sysop
    > My Blog and Wiki with Tips, Tricks, and Tutorials
    > http://jaredjennings.org

  • JMS cluster and happen JMS Queue Exception javax.naming.NameAlreadyBoundExc

    Hi,
    Sorry I not sure how to setup JMS cluster in WLS 10.3.2. We have two manager server in two machine. And will join into one cluster. After configure the JMS module & JMS server. We found it only can work in one server. And will faill in another server. And reply the error message as below :
    Any one can help to tell me why one server success. And other is fail !
    javax.naming.NameAlreadyBoundException: JMS_Queue_misdel_a is already bound; rem
    aining name ''
    at weblogic.jndi.internal.BasicNamingNode.bindHere(BasicNamingNode.java:357)
    at weblogic.jndi.internal.ServerNamingNode.bindHere(ServerNamingNode.java:140)
    at weblogic.jndi.internal.BasicNamingNode.bind(BasicNamingNode.java:317)
    at weblogic.jndi.internal.WLEventContextImpl.bind(WLEventContextImpl.jav
    ==> config for JMS
    <jms-server>
    <name>JMS_Server_cim_a</name>
    <target>ebowls05</target>
    <persistent-store xsi:nil="true"></persistent-store>
    <hosting-temporary-destinations>true</hosting-temporary-destinations>
    <temporary-template-resource xsi:nil="true"></temporary-template-resource>
    <temporary-template-name xsi:nil="true"></temporary-template-name>
    <message-buffer-size>-1</message-buffer-size>
    <expiration-scan-interval>30</expiration-scan-interval>
    </jms-server>
    <jms-server>
    <name>JMS_Server_cim_b</name>
    <target>ebowls06</target>
    <persistent-store xsi:nil="true"></persistent-store>
    <hosting-temporary-destinations>true</hosting-temporary-destinations>
    <temporary-template-resource xsi:nil="true"></temporary-template-resource>
    <temporary-template-name xsi:nil="true"></temporary-template-name>
    <message-buffer-size>-1</message-buffer-size>
    <expiration-scan-interval>30</expiration-scan-interval>
    </jms-server>
    <migratable-target>
    <name>ebowls06 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do
    not delete manually.</notes>
    <user-preferred-server>ebowls06</user-preferred-server>
    <cluster>ebouatCluster</cluster>
    </migratable-target>
    <migratable-target>
    <name>ebowls05 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do
    not delete manually.</notes>
    <user-preferred-server>ebowls05</user-preferred-server>
    <cluster>ebouatCluster</cluster>
    </migratable-target>
    <jms-system-resource>
    <name>JMS_ConnFactory_cim</name>
    <target>ebouatCluster</target>
    <descriptor-file-name>jms/JMS_ConnFactory_cim/JMS_ConnFactory_cim-jms.xml</d
    escriptor-file-name>
    </jms-system-resource>
    <jms-system-resource>
    <name>JMS_Queue_promis</name>
    <target>ebouatCluster</target>
    <sub-deployment>
    <name>JMS_Queue_promis@JMS_Server_cim_a</name>
    <target>JMS_Server_cim_a</target>
    </sub-deployment>
    <sub-deployment>
    <name>JMS_Queue_promis@JMS_Server_cim_b</name>
    <target>JMS_Server_cim_b</target>
    </sub-deployment>
    <descriptor-file-name>jms/JMS_Queue_promis/JMS_Queue_promis-jms.xml</descrip
    tor-file-name>
    </jms-system-resource>
    <jms-system-resource>
    <name>JMS_Template_cim</name>
    <target>ebouatCluster</target>
    <descriptor-file-name>jms/JMS_Template_cim/JMS_Template_cim-jms.xml</descrip
    tor-file-name>
    </jms-system-resource>
    <jms-system-resource>
    <name>JMS_Queue_misdel_a</name>
    <target>ebouatCluster</target>
    <sub-deployment>
    <name>JMS_Queue_misdel_a@JMS_Server_cim_a</name>
    <target>JMS_Server_cim_a</target>
    </sub-deployment>
    <sub-deployment>
    <name>JMS_Queue_misdel_a@JMS_Server_cim_b</name>
    <target>JMS_Server_cim_b</target>
    </sub-deployment>
    <descriptor-file-name>jms/JMS_Queue_misdel_a/JMS_Queue_misdel_a-jms.xml</des
    criptor-file-name>
    </jms-system-resource>
    <jms-system-resource>
    <name>JMS_Queue_misdel_b</name>
    <target>ebouatCluster</target>
    <sub-deployment>
    <name>JMS_Queue_misdel_b@JMS_Server_cim_a</name>
    <target>JMS_Server_cim_a</target>
    </sub-deployment>
    <sub-deployment>
    <name>JMS_Queue_misdel_b@JMS_Server_cim_b</name>
    <target>JMS_Server_cim_b</target>
    </sub-deployment>
    <descriptor-file-name>jms/JMS_Queue_misdel_b/JMS_Queue_misdel_b-jms.xml</des
    criptor-file-name>
    </jms-system-resource>

    1 - JMS clustering is an advanced concept, and, in most cases, uses "distributed queues". In case you haven't already, I highly recommend reading the JMS chapter of the new book "Professional Oracle WebLogic" as well as the related chapters in the JMS Programmer's Guide in the edocs.
    2 - The basic problem below is that you have two different queues that have matching JNDI names, but are in the same cluster.
    3 - The config snippet supplied below does not include the queue configuration. Queue configuration is embedded within the referenced module files.
    4 - Please ensure that you follow configuration best practices, as per: http://download.oracle.com/docs/cd/E15523_01/web.1111/e13738/best_practice.htm#CACJCGHG

  • Session EJB as a Topic subscriber

    Hi ,
    is it possible to create a topic subscriber inside a session ejb( both stateless and stateful ) with an asynchronous message listener ?
    Regards,
    Sajith

    A<WSI-17> WLS6.1 does not support Stateful Session beans as web services. Maintaining
    client state is a complex problem for web services that does not have a proper solution
    in the J2EE framework (stateful session and HTTP sessions are inappropriate). WLS
    7.0 does provide a web service capability for storing client data using an entity
    bean.
    "Elie Dagher" <[email protected]> wrote:
    >
    Q:WSI17-Does weblogic support Stateful session Ejb as a Web service?

  • Trouble shooting on Distributed topic targeting on OSB cluster

    BPELon soa cluster , unable to consume message from a distributed topic targeting to  OSB cluster.

    Target distributed topic to soa cluster as well along with osb cluster and try once again.
    Regards,
    Karan
    Oracle Fusion Middleware Blog

  • JMS Topic Load Balancing on Cluster

    Folks
    How do we load balance JMS Topic on a cluster.
    We have a 2 App Server configuration to a single cluster.
    If we have Topic A on both OC4J instances 1,2 - and we send a message to 1 - only clients connected to 1 get the message.
    What do we need to do to setup JMS clustering so that the messages sent to Topic A can be handled by both OC4J instances.

    Hi Ravi,
    Check this forum:
    /thread/24959 [original link is broken]
    Load Balancing for J2EE Web Applications
    http://help.sap.com/saphelp_nw04/helpdata/en/ce/4522d557b26942b202e05ff9ee1f3a/frameset.htm
    SAP Web Dispatcher - Load balancing EP6.0 SP2
    /thread/19304 [original link is broken]
    Reward points if this helps
    Regards
    Pragathi.

  • Get MDB to subscribe to JMS topic deployed on different server instance

    Can you do this?
    I have 2 servers.
    I want to Have the MDB deployed to one server subscribe to the JMS topic deployed on the second server.
    This seems like it should be possible. Is it?

    Hi, I have the similar situation.
    On the OC4J1 I have topic (jms/MojTopic) and factory (jms/MojTopicFactory), and my client (on the same OC4J) send some messages on that topic.
    I used this solution because the client can always send messages, regardless of network failure...
    On the OC4J2 I have MDB that is setup like this (orion-ejb-jar.xml):
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <orion-ejb-jar>
    <enterprise-beans>
    <message-driven-deployment name="LogBean"
    destination-location="jms/MojTopic"
    connection-factory-location="jms/MojTopicFactory">
    </message-driven-deployment>
    </enterprise-beans>
    </orion-ejb-jar>
    I configured jms/MojTopicFactory to the host of OC4J1, but still don't understand why I have to set up jms/MojTopic?
    Ok, this way I can send messages to OC4J1 and OC4J2 pick up that messages, BUT, when I disconnect OC4J2 from the network I get the following error (application.log from OC4J2):
    06/12/27 11:48:35.171 10.1.3.1.0 Started
    06/12/27 11:51:34.687 Error in MessageDrivenBean 'LogBean': javax.jms.JMSException: deqMessage
    javax.jms.JMSException: deqMessage
    at com.evermind.server.jms.JMSUtils.make(JMSUtils.java:1072)
    at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1152)
    at com.evermind.server.jms.TCPJMSRemoteServer.shutdownForce(TCPJMSRemoteServer.java:295)
    at com.evermind.server.jms.TCPJMSRemoteServer.execute(TCPJMSRemoteServer.java:202)
    at com.evermind.server.jms.JMSRemoteServer.deqMessage(JMSRemoteServer.java:575)
    at com.evermind.server.jms.EvermindSession.receive(EvermindSession.java:1254)
    at com.evermind.server.jms.EvermindSession.getOneMessage(EvermindSession.java:1151)
    at com.evermind.server.jms.EvermindMessageConsumer.getOneMessage(EvermindMessageConsumer.java:444)
    at com.evermind.server.jms.EvermindMessageConsumer.receive(EvermindMessageConsumer.java:192)
    at com.evermind.server.ejb.MessageDrivenConsumer.receiveMessage(MessageDrivenConsumer.java:424)
    at com.evermind.server.ejb.MessageDrivenConsumer.processMessages(MessageDrivenConsumer.java:213)
    at com.evermind.server.ejb.MessageDrivenConsumer.run(MessageDrivenConsumer.java:169)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
    at java.io.DataInputStream.readInt(DataInputStream.java:353)
    at com.evermind.server.jms.JMSRemoteServer.processFlag(JMSRemoteServer.java:612)
    at com.evermind.server.jms.JMSRemoteServer.getMessage(JMSRemoteServer.java:632)
    at com.evermind.server.jms.JMSRemoteServer.access$300(JMSRemoteServer.java:72)
    at com.evermind.server.jms.JMSRemoteServer$19.getReply(JMSRemoteServer.java:592)
    at com.evermind.server.jms.JMSRemoteServer.readResponse(JMSRemoteServer.java:648)
    at com.evermind.server.jms.TCPJMSRemoteServer.execute(TCPJMSRemoteServer.java:189)
    ... 10 more
    When I connect OC4J2 again, the MDB doesn't pick up those messages, so my mission of 100% sure sending of messages fails :(
    Any help?
    Thanx,
    Vanja

  • JMS Cluster

    my configuration for JMS in Cluster is as follows,
              1.i have 3 WL instances running in a cluster,
              2.have 2 JMSconn factories with clientid(unique for each).for durable
              subscription deployed on all the servers and also cluster.
              3. a JMSServer with a topic deployed on one server(since this is not
              clusterable).
              with this confuration i was able to publish messages and also receive
              messages.
              the problems iam facing are
              1. when i kill the subscriber and restarts,it is giving
              "weblogic.jms.common.InvalidClientIDException: clientID is used"
              exception, when i try to create the Topicconnection.iam resatarting Wl
              Server everytime i kill the subscriber.
              2. durable subscription is not working in this confuration, i mean
              subscriber is not getting messages(after it is backup) sent by the
              publisher when subscriber was inactive.
              any kind of help will be highly appreciated.
              srini
              

    See response to your other post.
              Ravi Krishnamurthy wrote:
              > Hello :
              > I have some more questions:
              >
              > 1. I have application ( that contains ejb's and mdb's) and jms clustered
              > in a cluster called cls with 2 nodes.
              > I use distributed destinations ( both topics and queues and I dont have
              > any durable topics)
              >
              > When I target the individual jms server to the individual servers then
              > the destinations are not bound.
              >
              > But if change it to the migratable targets then the destinations are
              > bound.
              >
              > Could someone tell me what I might be doing wrong?
              >
              > Thanks,
              > Ravi
              >
              

  • Support for Topics in XI JMS Adapter

    Hello Everyone,
      I am trying to configure Topics instead of queues for JMS Adapter and I am not able to exchange messages with Topics. However, when I change Topics with Queues in JMS configuration file on XI 2.0, the scenario works okay.
      Can anyone let me know if JMS adapter for XI 2.0 or XI 3.0 supports topics. If yes, then what changes should I make in order to exchange messages with Topics via JMS adapter.
    Thanks,

    Hi Lalit,
    No support for JMS topics in SAP XI 2.0 nor XI 3.0.
    I don't know why it isn't supported.  Maybe SAP wants to avoid the hassle of configuring durable subscribers.  And customers forgetting to remove durable subscriptions whereby message pile up until the JMS broker runs out of disk space.
    Kind regards, Guy Crets

  • Load balancing In weblogic 6.1 JMS Cluster

              hi
              i have implemented distributed queues in weblogic as suggested in the JMS performance
              guide.but the problem is that of the 3 queues in cluster the messages always end
              up going to the same queue and the remaining 2 remainin queues are empty. i want
              to perfomr load balancing but i think this ios available only in weblogic 7.0.can
              anyone suggest any alternative workaround ??
              

    I wonder if the JNDINameReplicated setting is taking effect.
              Are there any warning or error messages in your logs?
              Can you see statistics for all three JMS servers on the console?
              Does it work if you use the "./a" syntax?
              illusionz70 wrote:
              > hi,
              > 3 machines are in a cluster.all three machines have their different jms servers
              > and queues under them but target teh same connection factory.therefore all three
              > servers target 3 different machines which are in a cluster. i have weblogic 6.1
              > to which i applied the repective CR(patch) which enables the JNDIREPLICATED parameter.i
              > set this parameter to false.as a result i am able to monitor the 3 queues which
              > have the same jndi names but under different servers.but the problem is when i
              > lookup the queues from client using the machine's ip address(not the cluster ip),
              > the results are haywire.... even though i target say a ip of 30 , the msg goes
              > to ip 20... i dont know why..do you have any idea.
              > NOTE : i dont use the ./a ( where queue is the quename ) syntax in createqueue.
              > i look up the queue using the JNDI name.
              > thanks
              > Tom Barnes <[email protected].bea.com>
              > wrote:
              >
              >>Make sure that your context host and connection
              >>factory (CF) host are actually the same as what
              >>you're expecting.
              >>
              >>How, exactly, are your clients:
              >> (A) looking up their context
              >> (B) looking up their CF
              >>
              >>What are the targets for the CF?
              >>What are the URLs for the servers?
              >>What is the URL the clients are using? How is it
              >>load-balanced among the servers?
              >>Are the servers clustered?
              >>
              >>Tom
              >>
              >>illusionz70 wrote:
              >>
              >>
              >>>hi
              >>> i have implemented distributed queues in weblogic as suggested in
              >>
              >>the JMS performance
              >>
              >>>guide.but the problem is that of the 3 queues in cluster the messages
              >>
              >>always end
              >>
              >>>up going to the same queue and the remaining 2 remainin queues are
              >>
              >>empty. i want
              >>
              >>>to perfomr load balancing but i think this ios available only in weblogic
              >>
              >>7.0.can
              >>
              >>>anyone suggest any alternative workaround ??
              >>
              >
              

  • Different behaviour in JMS Cluster automatic failover

    Hi,
              I am problem in JMS clustering, now let me explain the scenario.
              I have 2 managed servers participating in the weblogic cluster, now since JMS is a singleton service what i did is i have created 2 JMS servers and targeted them to Managedservers 1 and 2 respectively.I have also created a Distributed Destination and deploy they with the deployment "wizard" ("autodeploy") to all the member of the cluster.
              Now in my case I created two different type of client
              Asynchronous and synchronous .
              The first one register himself as MessageListener and also as ExceptionListener. When I bring down the managed server in which the client is connect the call back method onException is called.
              The second client instead register himself as ExceptionListener but not as MessageListener. It call in different thread the receive method on the destination.
              In this case if i I bring down the managed server in which the client is connect the call back method onException is NOT called, instead i receive the JMSException on all the call "receive".
              I expected that the behaviour was the same of the firts client.
              Thanks in advance.
              dani

    Its not clear from your description what you're trying to do, as typical apps use a single module, including those that use distributed destinations, and typical apps do not use the convention of specifying a module name in their JNDI name. (The "!" syntax makes me suspect that you're not using JNDI to lookup destinations, rather you're using the rarely recommended JMS session "createQueue()" call.).
    Never-the-less, I suspect the problem is simply that your using a distributed queue and haven't realized that queue browsers and consumers pin themselves to a single queue member. To ensure full coverage of a distributed queue, the best practice is to use a WebLogic MDB: WebLogic MDBs automatically ensure that each queue member has consumers.
    By the way, if you are using a distributed queues, then the best practice config is as follows for each homogeneous set of JMS servers:
    -- Configure a custom WL store per server, target to the server's default migratable target.
    -- Configure a JMS server per server, target to the server's default migratable target, set the store for the JMS server to be the same as the custom store.
    -- Configure a single JMS module, target to the cluster.
    -- Configure a single subdeployment for the module that references each JMS server (and nothing else).
    -- Configure one or more distributed queues for the module. Never use default targeting -- instead use advanced subdeployment targeting to target each distributed queue to the single subdeployment you defined earlier.
    -- Configure one or more custom connection factories in the module, use default targeting.
    I recommend that you read through the JMS admin and programmer's guides in the edocs if you haven't done so already. You might find that the JMS chapter of the new book "Professional Oracle WebLogic" is helpful.
    Tom
    Edited by: TomB on Nov 4, 2009 10:12 AM

  • JMS cluster configuration problem

    Problem description:
    I have a OC4J cluster with two OC4J instances (referred to as I1 and I2) each having their own JMS Server (referred to JMS1 and JMS2). For certain messaging scenarios (not all) it is necessary that I1 puts a message on a queue of I2.
    In order to do that I use the following configuration:
    I2 -> jms.xml
    <jms-server host="[ALL]" port="9127">
    <queue-connection-factory location="xyz.ConnectionFactory" host="I1" />
         <queue name="queue1" location="xyz.queue" persistence-file="queue1.file"/>
    I1 -> jms.xml
    <jms-server host="[ALL]" port="9127">
    <queue-connection-factory location="xyz.ConnectionFactory" />
         <queue name="queue1" location="xyz.queue" persistence-file="queue1.file"/>
    When I try to send a message from I2 to I1, using the connection factory stored under xyz.ConnectionFactory I get the following exception:
    Caused by: javax.transaction.RollbackException at com.evermind.server.ApplicationServerTransaction.handleCommitSystemException(ApplicationServerTransaction.java:749) at com.evermind.server.ApplicationServerTransaction.twoPhaseCommit(ApplicationServerTransaction.java:688) at com.evermind.server.ApplicationServerTransaction.commitBasedOnResourceCount(ApplicationServerTransaction.java:514) at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:246) at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:126)
    at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:433) at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:757)
    ... 45 more
    Caused by: oracle.as.j2ee.transaction.tpc.ConnectionLostException: Handing off to RecoveryManager due to lost connection to resource or RMERR. Branch: [null, Xid( Global Id da.f9.b0.f7.ff.ff.ff.ff.0a.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00, Format Id 4660, Branch Id e8.df.1f.91.00.00.00.00.00.00.00.00.00.00.00.01), null, state={ACTIVE}, exception error code=-3]
    at oracle.as.j2ee.transaction.tpc.Coordinator.lostResourceCleanup(Coordinator.java:628)
    at oracle.as.j2ee.transaction.tpc.Coordinator.checkForLostConnection(Coordinator.java:600)
    at oracle.as.j2ee.transaction.tpc.Coordinator.actOnEligibleBranch(Coordinator.java:553)
    at oracle.as.j2ee.transaction.tpc.Coordinator.doRollback(Coordinator.java:499)
    at oracle.as.j2ee.transaction.tpc.Coordinator.doRollbackWithRollbackException(Coordinator.java:229)
    at oracle.as.j2ee.transaction.tpc.Coordinator.doPrepare(Coordinator.java:216)
    at oracle.as.j2ee.transaction.tpc.Coordinator.doResolve(Coordinator.java:278)
    at oracle.as.j2ee.transaction.tpc.Coordinator.resolve(Coordinator.java:115)
    at oracle.as.j2ee.transaction.tpc.TwoPhaseCommitEngine.commit(TwoPhaseCommitEngine.java:93)
    at com.evermind.server.ApplicationServerTransaction.twoPhaseCommit(ApplicationServerTransaction.java:686)
    ... 50 more
    Question:
    1: Do I use the right configuration for above messaging scenario (the Oracle documentation I’ve read about this subject (High Availability Guide) is very vague) ?
    2: So yes, what do I do wrong?
    Any help would be greatly appreciated!

    Above problem could be resolved.
    1. The problem only occured when sending a message within a transaction. Without transaction everything worked fine.
    2. Due to this strange behaviour we assumed that this is a bug - and it was. This bug has the issue nummer: 5331629. In version 10.1.3.1.0 this issue is resolved. We tested it and indeed it worked as excpected.

  • JMS Cluster error

    Hi,
              We have clustered two WLS 6.1 instances which has two JMS servers one deployed on each server instance. There are two destinations(Queues) with same JNDI name but deployed under different JMS servers. We are getting this following error while starting the servers. We have seen messages going to both the destinations. What could be the problem here ?
              Thanks.
              Bijan
              <Cluster> <Conflict start: You tried to bind an object under the name obs.queue.OBSMSMQueueError in the JNDI tree. The object you have bound from 172.26.136.113 is non clusterable and you have tried to bind more than once from two or more servers. Such objects can only deployed from one server.>
              

    On 12 Dec 2002 16:41:13 -0800, Bijan <[email protected]> wrote:
              The error says it all. The JNDI name of any "non-clustered" object
              within the cluster must be unique - queues, applications, etc.
              I suspect you are attempting to "distribute" the queue. Either
              upgrade to 6.1 or check out the "emulating distributed destinations
              in 6.1" section of the "JMS Performance white-paper" - available at
              dev2dev.bea.com.
              Tom, BEA
              >Hi,
              >
              >We have clustered two WLS 6.1 instances which has two JMS servers one deployed on each server instance. There are two destinations(Queues) with same JNDI name but deployed under different JMS servers. We are getting this following error while starting the servers. We have seen messages going to both the destinations. What could be the problem here ?
              >
              >Thanks.
              >
              >Bijan
              >
              >-----------------------------
              ><Cluster> <Conflict start: You tried to bind an object under the name obs.queue.OBSMSMQueueError in the JNDI tree. The object you have bound from 172.26.136.113 is non clusterable and you have tried to bind more than once from two or more servers. Such objects can only deployed from one server.>
              

Maybe you are looking for

  • How to control report direction at runtime

    Hi All I want to control report direction(Left_To_Right or Right_To_Left) at runtime. to make every thing is clear I want to call the report from Form passing parameter ,according the parameter the direction should be directed

  • Windows XP sp3 + iTunes 8 + New iPod Classic 120GB = Blue Screen Of Death

    HELP My PC has just upgraded itself with Windows XP Service Pack 3, I have downloaded iTunes 8, and just today bought a new iPod Classic 120GB so I could enjoy the new Genius facility (my old iPod was a 20GB model from 2005). However I keep getting t

  • How do I remove "Recent Items" Documents from the apple menu?

    I've been searching for an answer to this question for the better part of 3 hours now.  W Several iterations of osx ago, there was the ability to separately limit how many recent items were shown for Applications, Documents and Servers.  Over the yea

  • 12" 1.33Ghz iBook Hard Drive speed?

    hey all, i'm curious to know if any of you have ended up w/ 5400rpm drives in your 12" 1.33Ghz iBooks. i know of a couple ppl on a diff forum who got stock iBooks and for whatever reason they got 5400rpm 40GB drives. offhand i know there's very littl

  • How to use the System.nanoTime() ?

    I've got a big trouble. I need to create a class with a lot of methods, each method does something, like draw squares, circles, calculate Fibonacci series, and so on. But the problem is: 1 - I need to use System.nanoTime() to calculate the time each