JMS XASession in Client

          I get the following when trying to use JMS within XA.
          XAResource jmsxa = _XAqueueSession.getXAResource();
          produces error:
          java.lang.IllegalStateException: can only be called from server
          at weblogic.jms.client.JMSXASession.getXAResource(JMSXASession.java:87)
          This code is being run outside of the WLS and I am trying to use JOTM as my transaction
          manager implementation. The documentation refers to needing a different license
          for using XA, is that the case here? Or is it plain old pilot error.
          Thanks,
          don.
          

Don Schafer wrote:
          > Tom,
          >
          > thanks for your responce. Does this mean that for each XA transaction in a remote
          > client I need to use (I am guessing here) RMI?
          For remote WL JMS clients you need to use BEA's TM if
          you want them to participate in a transaction.
          Just start a JTA user transaction and commit it
          when you are done.
          There is nothing special about the way WL JMS is invoked:
          Use a URL to get a WL JNDI context, look up a WL JMS connection
          factory, and go. The fact that RMI is used as the
          communication protocol is immaterial.
          I suggest reading the doc:
          http://edocs.bea.com/wls/docs81/jms/trans.html#1037593
          http://edocs.bea.com/wls/docs81/jta/index.html
          And checking out the sample code that comes
          with WebLogic.
          >
          > Does that mean each enlist call, each commit call wil have additional remote overhead?
          There is no need to manual enlist BEA's JMS with BEA's TM (we do it
          automatically). In fact, it may negatively impact performance
          to do so.
          I think you need not worry about remote overhead.
          >
          > Thanks for your help,
          > don.
          >
          > Tom Barnes <[email protected]> wrote:
          >
          >>Hi Don,
          >>
          >>No pilot error. The exception text is correct.
          >>WebLogic does not support this call on remote clients.
          >>The same call will work from code called from within a WebLogic
          >>server.
          >>
          >>I suggest filing an enhancement request with customer
          >>support, and letting your BEA sales rep know about your need.
          >>
          >>The alternative is to use BEA as the transaction monitor.
          >>
          >>Tom, BEA
          >>
          >>P.S. With the current product, JMS capability implies
          >>that there must already be a XA capability. It is not
          >>possible to purchase JMS capability without getting XA.
          >>
          >>Don Schaefer wrote:
          >>
          >>>I get the following when trying to use JMS within XA.
          >>>
          >>>XAResource jmsxa = _XAqueueSession.getXAResource();
          >>>
          >>>produces error:
          >>>
          >>>java.lang.IllegalStateException: can only be called from server
          >>> at weblogic.jms.client.JMSXASession.getXAResource(JMSXASession.java:87)
          >>>..
          >>>
          >>>This code is being run outside of the WLS and I am trying to use JOTM
          >>
          >>as my transaction
          >>
          >>>manager implementation. The documentation refers to needing a different
          >>
          >>license
          >>
          >>>for using XA, is that the case here? Or is it plain old pilot error.
          >>>
          >>>Thanks,
          >>>don.
          >>>
          >>>
          >>>
          >>>
          >>>
          >>
          >
          

Similar Messages

  • JMS C/C++ client without a java proxy

    Hey folks,
    i am wondering if there is a C client for JMS which doesn't require a java-Proxy?
    I know the active-mq website, but the c/c++ client section there is really confusing and it seems that no one takes care of it anymore:
    The active-mq website suggest the following as c/c++-clients:
    It is very common for an organisation to have lots of legacy C code which needs integration into the message bus. The current available solutions are
    * use the OpenWire C Client which is only available in ActiveMQ 4.x or later.
    * we are working on the OpenWire CPP Client
    * the ActiveMQ C++ Clients is currently a C++ API to Stomp, and is a full-blown replacement for CMS for AMQ v4.0.1 and later. In the future this will be expanded to support OpenWire as well.
    * the CMS C++ client which is a C++ API to Stomp which can also be implemented with OpenWire
    * use the Stomp C Client for any version of ActiveMQ from 3.1 onwards. You can also use Stomp from many other languages like .Net, Python, Ruby, Perl etc.But:
    a)
    * use the OpenWire C Client which is only available in ActiveMQ 4.x or later.The only two links:
    You can browse the code here
    http://svn.activemq.org/branches/activemq-4-0/activemq/openwire-c/
    e.g. here's an example of it in use...
    http://svn.activemq.org/branches/activemq-4-0/activemq/openwire-c/src/examples/are deadlinks.
    Google doesn't help as well, this project seems to be dead?
    b)
    we are working on the OpenWire CPP Clientok, nothing released yet (as far as i can tell)
    c)
    the ActiveMQ C++ Clients is currently a C++ API to Stomp, and is a full-blown replacement for CMS for AMQ v4.0.1 and later. In the future this will be expanded to support OpenWire as well.But if i click on the link i get redirected to
    CMS is an easy-to-use JMS 1.1-like API. Our implementation of CMS is called ActiveMQ-CPP, the architecture for which supports pluggable transport protocols, very much like the ActiveMQ broker itself.So it says " it is a full replacement for CMS", but leads me directly to CMS?
    What the hack?
    Furthermore - and even worse - __NOT__ a single download link is working as well as the link to the api-docs is broken (if it ever worked)...
    d)
    the CMS C++ client which is a C++ API to Stomp which can also be implemented with OpenWireYeah, see c)
    e)
    use the Stomp C Client for any version of ActiveMQ from 3.1 onwards. You can also use Stomp from many other languages like .Net, Python, Ruby, Perl etc.Almost no documentation at all.
    So, in a nutshell, this whole "jms-c/c++ client" project seems to be just dead or unusable....
    Has somebody any ideas for a:
    - C/C++ JMS client
    - which does not need a proxy
    Thx for all clues in advance!

    I found the activemq open-wire projects for C/C++ under the sandbox. There are no examples for C++ using openwire yet. The repository paths for C and C++ are:
    https://svn.apache.org/repos/asf/activemq/sandbox/openwire-c
    https://svn.apache.org/repos/asf/activemq/sandbox/openwire-cpp

  • WLS JMS supports the clients developed by using non-java program languages,such as,c++,VB...

              WLS JMS supports the clients developed by using non-java program languages,such
              as,c++,VB?
              

    The short answer is yes. This is a frequently asked question. I
              suggest searching this newsgroup in google using terms like "C++",
              "IIOP", ".NET", "JCOM".
              Note also that WL 8.1 (now out in beta) contains a thin java client
              (something like 0 or 300K without JMS, 700k with. The 0K client comes
              from leveraging WL's IIOP support.)
              Tom, BEA
              jerry8006 wrote:
              > WLS JMS supports the clients developed by using non-java program languages,such
              > as,c++,VB?
              

  • JMS with Distributed clients.

    I am planning on having JMS Queues in a cluster and a business component [EJBs] in a separate cluster.
    I have distributed clients listening on a topic and when they get the message they process it and put the result on the Queue in my cluster.
    One of my business components from the business components cluster gets that result from the queue and processes it.
    Problem:
    My requirement is to send a message to 2 of my distributed clients and when they process the message and put the results in the Queue, I want the results from both the clients to be processed by the same business component in the cluster.
    Is it possible?
    Thank you.
    Edited by: user10510140 on Dec 9, 2010 12:49 PM

    You will have to use MessageSelectors.
    ram.

  • Delivery of message in jms to multiple clients

    **Now,I am using queues in jms which are already configurred in server.
    But,for n users it will be difficult to maintain n queues in server.So,
    ***Should i go towards creating and using Temporary Queues(I am trying to code for Temporary queues continuously but not at some final result,so plz tell how sender will tell receiver about his queue and how receiver will reply in sender's particular queue.
    ***How much it will be feasible if single queue is used by all clients(both senders and receivers).
    Thanx in advance

    ***Topic also need to be preconfigurred in my application server,so my applications will be limited by number of topics.
    http://java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html
    You'll see there methods for creating permanent and temporary topics. After creating a topic you'll need to bind it to your JNDI tree so that it can be retrieved again.
    ***Problem of receiving should not come b/c message will be sent by sender with the name of receiver attached to it,so that when all receivers will get it,the receiver whose name will be mentioned in message will take out the message.
    You are still thinking "point to point" but you should be thinking "publish and subscribe". When a client joins a conversation/chatroom they should "subscribe" to a topic dynically created for that coversation/chatroom. For the duration of the subscription any message "published" to the topic will be routed to all subscribers automatically. There is no need to add the receivers name to the message.
    On a separate note (and I've tried to reword a couple of times to sound less harsh, but don't think I've managed it so apologies for the slightly aggressive tone) you've asked a lot of questions on this forum in recent weeks, but when people answer your questions you fail to look into them properly. You also have a slightly high expectation of the level of response - we're not here to solve your problems, we're here to help you solve them yourself. You've also asked for email addresses / ICQ numbers - this may be more convenient for you but means that the forum loses the benefit of subsequent conversations. Not to mention the last thing I (and my clients) want while I'm trying to solve a difficult problem of my own is messenger flashing up every five minutes.
    The best thing you can do is read the JMS specification cover to cover
    http://java.sun.com/products/jms/docs.html - it's well written and not particularly big as specifications go. If you have any futher questions make sure you google / search this forum before you post.
    Steve

  • Regarding JMS standalone application client

    Hi,
    I m new to JMS.
    I m using NetBeans IDE and would like to know how can i create connection factories and destinations either administratively or through JNDI.
    Btw, i m writing a simple stand alone application client which has a queuesender and a queuereceiver.
    Regards.

    Hi,
    I m using Jboss4.2.0GA...plz tell me how to create a connection factory and a destination queue......and then how to look them up via JNDI??
    I m writing a simple stand alone application client with a sender and a receiver.
    Regards,
    Chowdary.

  • JMS stand-alone client consuming a queue in GlassFish cluster

    I want to connect to a JMS queue running in clustered glassfish enterprise 2.1 and consume a message. I have a simple client app. that works with my one-machine cluster (pointing it either to first or second node, ports 3330 or 3331), but doesn't work with a company cluster (two machines, two nodes).
            Hashtable properties = new Hashtable();
            properties.put(Context.PROVIDER_URL, "iiop://" + hostname + ":" + port);
            properties.put("org.omg.CORBA.ORBInitialHost", hostname);
            properties.put("org.omg.CORBA.ORBInitialPort", "" + port);
            properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.appserv.naming.S1ASCtxFactory");
            try {
                ctx = new InitialContext(properties);
            } catch (NamingException ex) {
                ex.printStackTrace();
            }The program fails on line ctx = new InitialContext(properties);
    The strange thing is, whatever I use as hostname or port, it always ends like this:
    27.5.2009 18:03:17 com.sun.appserv.naming.RoundRobinPolicy setClusterInstanceInfo
    WARNING: NAM1005 : No Endpoints selected. Please specify using system property com.sun.appserv.iiop.endpoints.
    27.5.2009 18:03:17 com.sun.appserv.naming.RoundRobinPolicy getEndpointForProviderURL
    WARNING: NAM1001: No Endpoints selected in com.sun.appserv.iiop.endpoints property. Using JNDI Provider URL iiop://10.0.0.30:33700 instead
    27.5.2009 18:03:18 com.sun.appserv.naming.RoundRobinPolicy setClusterInstanceInfo
    INFO: endpoint.weight after checking isWeight = 10
    27.5.2009 18:03:18 com.sun.appserv.naming.RoundRobinPolicy setClusterInstanceInfo
    INFO: sumOfAllWeights = 10
    27.5.2009 18:03:19 com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl <init>
    WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700"
    org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
            at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2690)
            at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2711)
            at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:261)
            at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:274)
            at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:130)
            at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:192)
            at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:181)
            at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:325)
            at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
            at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
            at com.sun.corba.ee.impl.folb.ClientGroupManager.getInitialClusterInstanceInfo(ClientGroupManager.java:596)
            at com.sun.corba.ee.impl.folb.ClientGroupManager$GIS.getClusterInstanceInfo(ClientGroupManager.java:620)
            at com.sun.corba.ee.impl.folb.ClientGroupManager.getClusterInstanceInfo(ClientGroupManager.java:666)
            at com.sun.appserv.naming.GroupInfoServiceObserverImpl.membershipChange(GroupInfoServiceObserverImpl.java:73)
            at com.sun.appserv.naming.S1ASCtxFactory.getInitialContext(S1ASCtxFactory.java:290)
            at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
            at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
            at javax.naming.InitialContext.init(InitialContext.java:223)
            at javax.naming.InitialContext.<init>(InitialContext.java:197)
            at client.JmsQueueConsumer.<init>(JmsQueueConsumer.java:41)
            at client.JmsQueueConsumer.main(JmsQueueConsumer.java:57)
    Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
            at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:347)
            at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:244)
            ... 18 more
    Caused by: java.net.ConnectException: Connection refused: connect
            at sun.nio.ch.Net.connect(Native Method)
            at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:507)
            at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:105)
            at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:332)
            ... 19 moreI've tried to turn off all firewalls between me and the cluster but it still doesn't work. ANy ideas what can be wrong? I guess clusters are always different...
    (I will try to do more investigation, especially packet capturing, later)

    Double check the ORB configuration in the servers...
    +"The default naming service port in the app server is 3700. If the naming service is running on a different port, you'll need to set it via the -Dorg.omg.CORBA.ORBInitialPort property when starting the client JVM. You can double-check the actual naming service port for a given server instance by looking in the server instace's domain.xml for "orb-listener-1". Alternatively, check the Applications..Configuration..ORB..IIOP Listeners section of the admin GUI for orb-listener-1."+
    [https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB|https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB] (step-5)
    Edited by: Conchas on Aug 3, 2009 12:12 PM

  • JMS Exception at Client Side

    Hi All
    We have application consisting of applets
    a) We have signed the Application JAR (CA ) and put in the below attributes in the manifest file
    Codebase: <<CodebasePath>>
    Application-Library-Allowable-Codebase: <<CodebasePath>>
    permissions: all-permissions
    b) We use the wlclient.jar and wljmsclient.jar as well. For these JARS we have added the below attribute in the manifest file
    Permissions: all-permissions
    c) We are getting exceptions at the client side while launching the application ( JRE is 1.6.0_51)
    Exception in initJMS()>>>>>>>>>>>>>>>
    javax.naming.NamingException: Unhandled exception in lookup [Root exception is org.omg.CORBA.NO_PERMISSION:   vmcid: 0x0  minor code: 0  completed: No]
      at weblogic.corba.j2ee.naming.Utils.wrapNamingException(Utils.java:83)
      at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:232)
      at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:168)
      at javax.naming.InitialContext.lookup(Unknown Source)
      at com.orbitreasury.moneymarket.presentation.util.MessagingServiceFactory.initJMS(MessagingServiceFactory.java:142)
      at com.orbitreasury.moneymarket.presentation.util.MessagingServiceFactory.<init>(MessagingServiceFactory.java:102)
      at com.orbitreasury.moneymarket.presentation.util.MessagingServiceFactory.getInstance(MessagingServiceFactory.java:94)
      at com.orbitreasury.moneymarket.presentation.applet.FrontOfficeDesk.init(FrontOfficeDesk.java:328)
      at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
    Caused by: org.omg.CORBA.NO_PERMISSION:   vmcid: 0x0  minor code: 0  completed: No
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at java.lang.Class.newInstance0(Unknown Source)
      at java.lang.Class.newInstance(Unknown Source)
      at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(Unknown Source)
      at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(Unknown Source)
      at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(Unknown Source)
      at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(Unknown Source)
      at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(Unknown Source)
      at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(Unknown Source)
      at org.omg.CORBA.portable.ObjectImpl._invoke(Unknown Source)
      at weblogic.corba.cos.naming._NamingContextAnyStub.resolve_any(_NamingContextAnyStub.java:80)
      at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:208)

    Hi Amitava,
    This error may happen when creating foreign JMS server and user credentials (principal name) is not provided. As a result, Weblogic is unable to create the required JNDI name.
    To rectify the error you can provide principal name in the JMS Configuration and restart Weblogic. See the following for sample configuration required:
    <foreign-server name="ForeignServer">
    <sub-deployment-name>subDep</sub-deployment-name>
    <foreign-destination name="ForeignDestination">
    <local-jndi-name>localQueue</local-jndi-name>
    <remote-jndi-name>remoteQueue</remote-jndi-name>
    </foreign-destination>
    <foreign-connection-factory name="ForeignConnectionFactory-0">
    <local-jndi-name>localJNDI</local-jndi-name>
    <remote-jndi-name>remoteJNDI</remote-jndi-name>
    </foreign-connection-factory>
    <connection-url>t3://localhost:7010</connection-url>
    <jndi-properties-credential-encrypted>{3DES}yK0ERotSucIGRVFORfS4Kw==</jndi-properties-credential-encrypted>
    <jndi-property>
    <key>java.naming.security.principal</key>
    <value>weblogic</value>
    </jndi-property>
    </foreign-server>
    Refer to documentation below for more details:
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jms_admin/advance_config.html#wp1075917
    Hope it helps.
    Thanks,
    Cris

  • Looking up JMS administered objects in a rich client

    We have JMQ running as a broker. Using 'jmqjmsadm.sh' we added a Topic and a
    TopicConnectionFactory, using
    ../jmqjmsadm.sh t theLogTopic logTopic
    ../jmqjmsadm.sh tf providerTopicFactory TopicConnectionFactory
    and also set up the proxy using
    ../jmspadm theTopicFactory providerTopicFactory
    Everything seemed to work, and all three objects show up under
    SOFTWARE\iPlanet\Application Server\6.0\JMSObjects in kregedit. This is
    depicted in the attached JPG.
    We also have an application client running in the ACC, and this client needs
    to access these JMS objects. My understanding is that iPlanet does NOT
    support resource references for JMS, so even though this is a rich client my
    subsequent expectation is that we would access the connection factory using
    TopicConnectionFactory conFactory = (TopicConnectionFactory) jndi.lookup(
    "java:comp/env/jms/providerTopicFactory" );
    This does not work, unfortunately, resulting in a
    javax.naming.NameNotFoundException, on the lookup on
    "jms/providerTopicFactory". I have, however, also tried looking up
    "java:comp/env/providerTopicFactory", and
    "java:comp/env/jms/TopicConnectionFactory", and none of them are successful.
    I might add thgat an earlier JNDI lookup on an env-entry is successful, so
    the CosNaming is set up OK, as near as I can tell.
    The app client is definitely running in the ACC; it is not a standalone.
    This seems to be a combination (JMS plus rich client running in the ACC)
    that is poorly documented. I am wondering if anyone has any suggestions.
    TIA.
    Regards,
    Arved Sandstrom
    [Attachment jmsobjects.jpg, see below]

    Hi Arved,
    Can you try to set the initial context factory using:
    Properties prop = System.getProperties();
    prop.put("java.naming.factory.initial","com.netscape.server.jms.RefFSContextFactory");
    prop.put("java.naming.provider.url","/");
    and then do a lookup using:
    ctx.lookup("jms/providerTopicFactory");
    Regards,
    Durga
    Arved Sandstrom wrote:
    We have JMQ running as a broker. Using 'jmqjmsadm.sh' we added a Topic and a
    TopicConnectionFactory, using
    ./jmqjmsadm.sh t theLogTopic logTopic
    ./jmqjmsadm.sh tf providerTopicFactory TopicConnectionFactory
    and also set up the proxy using
    ./jmspadm theTopicFactory providerTopicFactory
    Everything seemed to work, and all three objects show up under
    SOFTWARE\iPlanet\Application Server\6.0\JMSObjects in kregedit. This is
    depicted in the attached JPG.
    We also have an application client running in the ACC, and this client needs
    to access these JMS objects. My understanding is that iPlanet does NOT
    support resource references for JMS, so even though this is a rich client my
    subsequent expectation is that we would access the connection factory using
    TopicConnectionFactory conFactory = (TopicConnectionFactory) jndi.lookup(
    "java:comp/env/jms/providerTopicFactory" );
    This does not work, unfortunately, resulting in a
    javax.naming.NameNotFoundException, on the lookup on
    "jms/providerTopicFactory". I have, however, also tried looking up
    "java:comp/env/providerTopicFactory", and
    "java:comp/env/jms/TopicConnectionFactory", and none of them are successful.
    I might add thgat an earlier JNDI lookup on an env-entry is successful, so
    the CosNaming is set up OK, as near as I can tell.
    The app client is definitely running in the ACC; it is not a standalone.
    This seems to be a combination (JMS plus rich client running in the ACC)
    that is poorly documented. I am wondering if anyone has any suggestions.
    TIA.
    Regards,
    Arved Sandstrom
    [Image]--
    Durgaprasad Swaminathan
    iPlanet E-Commerce Solutions, A Sun-Netscape Alliance
    +65 - 337 3658 (DID)
    +65 - 337 4688 (Fax)

  • Client Id in use - WL6.1 sp3   server to server JMS messaging

    Any feedback would be greatly appreciated. THANKS!
              -Alan May
              Scenario:
              Two weblogic 6.1 sp3 instances running on two separate Solaris 8 boxes.
              Server a - a message producer(client) for a number of topics and queues on b
              Server b - hosts JMS services including all the topics and queues, has both
              message producers and mdb consumers for a number of topics and queues
              What I've set up: a durable connection factory for topics for server a,
              topics for server b, queues for server a, and queues for server b (all
              targeted to server b)
              I have a singleton on each server that has methods to retrieve the queue
              connection or topic connection appropriate for that server(a single
              connection is
              shared for all topic producers and a separate connection is share for all
              queue producers for each server)
              I have each producer open and close a new session every time. However, the
              topic and queue connections are shared for all producers for that JVM. This
              seemed to be the approach recommended by the JMS spec, but do you feel this
              is the appropriate granularity given the above scenario? I am not currently
              closing my jms connection as part of a weblogic shutdown class. Is that
              essential in that case? If the server crashes - are there any
              recommendations on how to handle(if closing the connection is the issue)?
              I've confirmed that my JMS clients running with server b are not using the
              connection factories setup for a's use.
              Issue:
              Everything works on server b as expected.
              Server a's connections seemed to be fouled. I was getting that the clientid
              was in use(stack trace included below) while trying to fetch the connection.
              I stopped server a, removed the fouled connection factories on server
              b(dedicated for server a's use), and created new connection factories for
              a's use. I stopped server b and deleted everything from the two JMSState
              and JMSStore tables, restarted a then b, and tried the test again. This
              time the singleton code could fetch the connection without receiving a
              JMSException, but I was getting an exception when I tried to open a session
              from the connection.
              If worst comes to worse, I can stick a stateless session bean on b, to act
              as a delegate producer on behalf of server a, but I'd like to avoid it if
              possible.
              Any recommendations? Please let me know if it would be helpful for me to
              clarify any points.
              Server a's original error:
              weblogic.jms.common.InvalidClientIDException: Client id, Parser.topicPrime,
              is in use
              Start server side stack trace:
              weblogic.jms.common.InvalidClientIDException: Client id, Parser.topicPrime,
              is in use
              at
              weblogic.jms.frontend.FEConnection.setClientId(FEConnection.java:918)
              at weblogic.jms.frontend.FEConnection.<init>(FEConnection.java:178)
              at
              weblogic.jms.frontend.FEConnectionFactory$1.run(FEConnectionFactory.java:319
              at weblogic.management.internal.Helper.doLocally(Helper.java:1656)
              at
              weblogic.jms.frontend.FEConnectionFactory.connectionCreate(FEConnectionFacto
              ry.java:316)
              at weblogic.jms.frontend.FEConnectionFactory_WLSkel.invoke(Unknown
              Source)
              at
              weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:305)
              at
              weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
              :93)
              at
              weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:274)
              at
              weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
              2)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              End server side stack trace
              

    Hi Alan,
              Lots of questions in one message! I'm going to
              try and answer them using the shotgun approach -- let
              me know if I miss.
              (1) It is good practice to close JMS resources when you are done
              with them, even if the destination host server crashes. The reason
              is that the connection resource may be hosted on a different
              WL server than the destination.
              (2) Creating a session/producer per message is heavy-weight
              in terms of CPU and network - if your app is performance
              sensitive is is better to cache these resources for re-use.
              See the JMS Performance Guide for details.
              (3) From your description I can't tell which two
              clients are conflicting. If what I'm writing here
              doesn't help, please try to narrow it down and repost.
              (4) Make sure that the connection factory does not have
              a "client-id" configured for it. Otherwise only one client
              can use the connection factory - instead have individual
              clients dynamically set their ids.
              (5) Note that client-ids are usually only useful for
              durable subscriber access, as other types of clients
              generally don't need exclusive connections, and therefore
              don't need client-ids.
              (6) The attached notes, which are for MDBs, may help you
              understand durable subscriptions and client-id's better in general.
              Tom
              Alan May wrote:
              > Any feedback would be greatly appreciated. THANKS!
              >
              > -Alan May
              >
              >
              > Scenario:
              >
              > Two weblogic 6.1 sp3 instances running on two separate Solaris 8 boxes.
              >
              > Server a - a message producer(client) for a number of topics and queues on b
              >
              > Server b - hosts JMS services including all the topics and queues, has both
              > message producers and mdb consumers for a number of topics and queues
              >
              > What I've set up: a durable connection factory for topics for server a,
              > topics for server b, queues for server a, and queues for server b (all
              > targeted to server b)
              >
              > I have a singleton on each server that has methods to retrieve the queue
              > connection or topic connection appropriate for that server(a single
              > connection is
              > shared for all topic producers and a separate connection is share for all
              > queue producers for each server)
              >
              > I have each producer open and close a new session every time. However, the
              > topic and queue connections are shared for all producers for that JVM. This
              > seemed to be the approach recommended by the JMS spec, but do you feel this
              > is the appropriate granularity given the above scenario? I am not currently
              > closing my jms connection as part of a weblogic shutdown class. Is that
              > essential in that case? If the server crashes - are there any
              > recommendations on how to handle(if closing the connection is the issue)?
              >
              > I've confirmed that my JMS clients running with server b are not using the
              > connection factories setup for a's use.
              >
              > Issue:
              > ------
              > Everything works on server b as expected.
              >
              > Server a's connections seemed to be fouled. I was getting that the clientid
              > was in use(stack trace included below) while trying to fetch the connection.
              >
              > I stopped server a, removed the fouled connection factories on server
              > b(dedicated for server a's use), and created new connection factories for
              > a's use. I stopped server b and deleted everything from the two JMSState
              > and JMSStore tables, restarted a then b, and tried the test again. This
              > time the singleton code could fetch the connection without receiving a
              > JMSException, but I was getting an exception when I tried to open a session
              > from the connection.
              >
              > If worst comes to worse, I can stick a stateless session bean on b, to act
              > as a delegate producer on behalf of server a, but I'd like to avoid it if
              > possible.
              >
              > Any recommendations? Please let me know if it would be helpful for me to
              > clarify any points.
              >
              >
              >
              > Server a's original error:
              > weblogic.jms.common.InvalidClientIDException: Client id, Parser.topicPrime,
              > is in use
              >
              > Start server side stack trace:
              > weblogic.jms.common.InvalidClientIDException: Client id, Parser.topicPrime,
              > is in use
              > at
              > weblogic.jms.frontend.FEConnection.setClientId(FEConnection.java:918)
              > at weblogic.jms.frontend.FEConnection.<init>(FEConnection.java:178)
              > at
              > weblogic.jms.frontend.FEConnectionFactory$1.run(FEConnectionFactory.java:319
              > )
              > at weblogic.management.internal.Helper.doLocally(Helper.java:1656)
              > at
              > weblogic.jms.frontend.FEConnectionFactory.connectionCreate(FEConnectionFacto
              > ry.java:316)
              > at weblogic.jms.frontend.FEConnectionFactory_WLSkel.invoke(Unknown
              > Source)
              > at
              > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:305)
              > at
              > weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
              > :93)
              > at
              > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:274)
              > at
              > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
              > 2)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              > End server side stack trace
              >
              >
              A durable topic subscriber MDB uses its name to generate its client-id.
              Since JMS enforces uniqueness on this client-id, this means that if a durable
              subscriber MDB is deployed to multiple servers only one server will be able
              to connect. Some applications want a different behavior where
              each MDB pool on each server gets its own durable subscription.
              The MDB durable subscription id, which must be unique on its topic, comes from:
              1) <jms-client-id>MyClientID</jms-client-id>
              (the weblogic dtd)
              2) if (1) is not set then the client-id
              comes from the ejb name.
              The durable subscription is uniquely identified within a cluster by a
              combination of "connection-id" and "subscription-id". Only one active
              connection may use a particular "connection-id" within a WebLogic cluster.
              The connection id comes from:
              1) The "ClientId" attribute configured on the WebLogic connection factory.
              This defaults to null. Note that if the ClientId is set on a connection
              factory, only one connection created by the factory
              may be active at a time.
              2) If (1) is not set, then, as with the subscriber-id,
              the connection-id is derived from jms-client-id descriptor attribute:
              <jms-client-id>MyClientID</jms-client-id>
              (the weblogic dtd)
              3) If (1) and (2) are not set, then, as with the subscriber-id,
              the connection-id is derived from the ejb name.
              Work-around:
              A) Create a custom connection-factory for each server:
              1) configure "JNDIName" to the same value across all servers
              ("myMDBCF" in this example)
              2) configure "ClientId" to a unique value per server
              3) enable "UserTransactionsEnabled"
              4) enable "XAConnectionFactoryEnabled"
              5) set "AcknowledgePolicy" to "ACKNOWLEDGE_PREVIOUS"
              6) target the CF at a single WebLogic server
              (Number 5 is required for non-transactional topic MDBs)
              B) In the MDB's weblogic-ejb-jar.xml descriptor, set the MDB's connection
              factory to the JNDI name of the custom connection factories configured in
              (A). Optionally, also specify the subscriber-id via the jms-client-id
              attribute.
              <weblogic-ejb-jar>
              <weblogic-enterprise-bean>
              <ejb-name>exampleBean</ejb-name>
              <message-driven-descriptor>
              <connection-factory-jndi-name>myMDBCF</connection-factory-jndi-name>
              <jms-client-id>myClientID</jms-client-id>
              </message-driven-descriptor>
              </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              C) Target the application at the same servers that have the custom connection
              factories targeted at them.
              Notes/Limitations:
              1) If the MDB is moved from one server to another, the MDB's corresponding
              connection-factory must be moved with it.
              2) This work-around will not work if the destination is not in the same
              cluster as the MDB. (The MDB can not use the local connection factory, which
              contains the connection-id, as connection factories do not work unless they
              are in the same cluster as the destination.)
              3) This work-around will not work for non-WebLogic JMS topics.
              

  • Standalone JMS client  in SJS App Server 8.0

    Hi
    I am trying to retrieve a message from a JMS queue from astandalone client.
    The code the client uses to lookup JMS resources is:
    try
              /* Create the object of InitialContext interface */
    Properties env = new Properties( );
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
    env.put(Context.PROVIDER_URL,"iiop://localhost:3700");
         jndiContext = new InitialContext(env);
              /* Find the connection factory object */
         QConnectionFactory = (QueueConnectionFactory)jndiContext.lookup("jms/QConnectionFactory");
         /* Find the queue */      
              queue = (Queue) jndiContext.lookup("jms/Queue");
    catch (NamingException e)
         System.out.println("Error: " + e.toString());
    The code throws the following exception:
    Error: javax.naming.NameNotFoundException [Root exception is org.omg.CosNaming.N
    amingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]
    Exception in thread "main" java.lang.NullPointerException
    at QReceiver.main(QReceiver.java:51)
    What might be the problem? Pls help. The code works fine when executed as an Application client of SJS Appserver without using the JNDI Context part.
    Thanks in advance
    JLRocky

    Also have a problem similar to this. I have found that
    1. JMS between beans on the same server work fine
    2. JMS between standalone client and server work fine if you start the bundled imq as a standalone message server
    3. If you are using the Appserver then standalones cannont connect, but it you are using the imq beans cannot connect.
    so i haven't had time to try this yet but my possible solution is:
    configure the app server to use an external JMS server (its in the admin console some place) make the external server to be an imq running as a standalone, hopefully it can be started on localhost with out any port changes.
    I think rather than bundling the two so both could be used they embeded the imq in the appserver and shielded it from outside comminication

  • Scale:how many client can register with jms

    hi all, i want to test the scaleof jms , in other mean i want to send msg using jms to 25 client/publisher running at the same time to calculate the time any onw can helpme how to do that test.i think it is not resonable to run the oub 25 timer i think there is another way.
    regards
    nagwa

    Depends on how often they hit "reload".
    If you have an on-line chat forum, people tend to hit reload every N seconds to see if there are new posts. 1 user = 200 hits/day. If your site show TV listings, people load your page only a couple of times a day because it doesn't change constantly. 1 user = 2 hits/day.
    Estimate how many hits an average user does to each page. Then measure the speeds of your servlets. Estimate how often each servlet will be accessed -- or if your site is already on-line, get that info from logs. Simulate your expected web traffic.
    If you use sessions and put lots of data in them, estimate the size of data you keep per user. That'll give you memory requirements.

  • JMS-MQ Series error( MQJMS2002)

    Hi,
    I have an MDB listening to a queue. I am using MQ Series instead of Jboss mq. It has been working fine but I have faced the below error a fews days back and i am unable to solve it.
    For a particular message , I get an error javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue , when I remove it from the queue , it works fine i.e the messages starts being processed by the MDB. But if i again place the message back in the queue the same error keeps appearing again and again in the log and no further messages gets proceesed by the MDB.
    In our application the length of the message is more than 4mb so we have modified all the queues to 10mb in mqseries and it has been working fine from a long time. But for this particular message the above situation is occuring. Note size of dead letter queue is still 4mb.
    Can the below be happening:-
    For some reason the queue manager cannot deliver a message and so it attempts to put the message on its dead-letter queue , but since the DLQ max size is 4mb , it goes into a loop.....may not sound very convincing thought...........but if i change the size of DLQ to 10mb ...will it help my cause.....below is the full stack trace ..........
    44526 2007-07-25 09:16:24,162 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:
    44527 javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
    44528 at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:567)
    44529 at com.ibm.mq.jms.MQSession.consume(MQSession.java:3113)
    44530 at com.ibm.mq.jms.MQSession.run(MQSession.java:1612)
    44531 at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:182)
    44532 at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
    44533 at java.lang.Thread.run(Thread.java:534)
    44534 2007-07-25 09:16:24,162 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] innerStop
    44535 2007-07-25 09:16:24,162 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] unset exception listener
    44536 2007-07-25 09:16:29,138 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] connection stopped
    44537 2007-07-25 09:16:29,138 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] destroyService
    44538 2007-07-25 09:16:29,162 DEBUG [org.jboss.jms.asf.StdServerSessionPool] Clearing 1 from ServerSessionPool
    44539 2007-07-25 09:16:29,163 DEBUG [org.jboss.jms.asf.StdServerSession] closed
    44540 2007-07-25 09:16:29,164 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Stopping DLQHandler
    44541 2007-07-25 09:16:29,164 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Stopped DLQHandler
    44542 2007-07-25 09:16:29,164 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroying DLQHandler
    44543 2007-07-25 09:16:29,166 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroyed DLQHandler
    44544 2007-07-25 09:16:29,166 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Waiting for reconnect internal 10000 ms
    44545 2007-07-25 09:16:39,164 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Trying to reconnect to JMS provider
    44546 2007-07-25 09:16:39,164 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing
    44547 2007-07-25 09:16:39,164 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/WSMQ JMSProvider
    44548 2007-07-25 09:16:39,164 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JN DIProviderAdapter@15e0638
    44549 2007-07-25 09:16:39,165 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating DLQHandler
    44550 2007-07-25 09:16:39,165 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using factory: com.ibm.mq.jms.MQQueueConnectionF actory@895ab1c7
    44551 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created connection: com.ibm.mq.jms.MQQueueConnec tion@bd7301
    44552 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using Queue: queue://OMNT031P/SYSTEM.DEAD.LETTER .QUEUE
    44553 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created DLQHandler
    44554 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] context: javax.naming.InitialContext@1c 95c92
    44555 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] jndiSuffix: ossToNpgQueue
    44556 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Got destination type Queue for OssJmsMd bOm
    44557 2007-07-25 09:16:39,187 DEBUG [org.jboss.jms.ConnectionFactoryHelper] using connection factory: com.ibm.mq.jms.MQQueu eConnectionFactory@895ab1c7
    44558 2007-07-25 09:16:39,188 DEBUG [org.jboss.jms.ConnectionFactoryHelper] using username/password: null/null
    44559 2007-07-25 09:16:39,190 DEBUG [org.jboss.jms.ConnectionFactoryHelper] created QueueConnection: com.ibm.mq.jms.MQQueue Connection@dcb4bb
    44560 2007-07-25 09:16:39,190 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Using client id: null
    44561 2007-07-25 09:16:39,190 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Could not find the queue destination-jn di-name=ossToNpgQueue
    44562 2007-07-25 09:16:39,190 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] looking up session pool factory: java:/ StdJMSPool
    44563 2007-07-25 09:16:39,190 DEBUG [org.jboss.jms.asf.StdServerSessionPool] initializing with connection: com.ibm.mq.jms.M QQueueConnection@dcb4bb
    44564 2007-07-25 09:16:39,191 WARN [org.jboss.jms.asf.StdServerSessionPool] Using a non-XA QueueConnection. It will not b e able to participate in a Global UOW
    44565 2007-07-25 09:16:39,191 DEBUG [org.jboss.jms.asf.StdServerSession] initializing (pool, session, xaSession, useLocalTX ): org.jboss.jms.asf.StdServerSessionPool@1dd92ab, com.ibm.mq.jms.MQQueueSession@1c8363b, null, false
    44566 2007-07-25 09:16:39,191 DEBUG [org.jboss.jms.asf.StdServerSessionPool] added server session to the pool: org.jboss.jm s.asf.StdServerSession@1605c66
    44567 2007-07-25 09:16:39,191 DEBUG [org.jboss.jms.asf.StdServerSessionPool] Server Session pool set up
    44568 2007-07-25 09:16:39,191 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Server session pool: org.jboss.jms.asf. StdServerSessionPool@1dd92ab
    44569 2007-07-25 09:16:39,195 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Connection consumer: com.ibm.mq.jms.MQC onnectionConsumer@1526ddf
    44570 2007-07-25 09:16:39,195 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initialized with config org.jboss.ejb.p lugins.jms.JMSContainerInvoker@9ba786{ maxMessagesNr=1, maxPoolSize=1, reconnectInterval=10000, providerAdapterJNDI=j        ava:/WSMQJMSProvider, serverSessionPoolFactoryJNDI=java:/StdJMSPool, acknowledgeMode=1, isContainerManagedTx=false, i        sNotSupportedTx=false, useDLQ=true, dlqHandler=org.jboss.ejb.plugins.jms.DLQHandler@ab5354{ destinationJNDI=queue/WSM        Q/DLQ, maxResent=1, timeToLive=0 }, destinationJNDI=ossToNpgQueue }
    44571 2007-07-25 09:16:39,195 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Starting DLQHandler
    44572 2007-07-25 09:16:39,195 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Started DLQHandler
    44573 2007-07-25 09:16:39,196 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Reconnected to JMS provider
    44574 2007-07-25 09:16:39,226 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:
    44575 javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
    44576 at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:567)
    44577 at com.ibm.mq.jms.MQSession.consume(MQSession.java:3113)
    44578 at com.ibm.mq.jms.MQSession.run(MQSession.java:1612)
    44579 at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:182)
    44580 at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
    44581 at java.lang.Thread.run(Thread.java:534)
    44582 2007-07-25 09:16:39,226 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] innerStop
    44583 2007-07-25 09:16:39,226 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] unset exception listener
    44584 2007-07-25 09:16:44,204 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] connection stopped
    44585 2007-07-25 09:16:44,204 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] destroyService
    44586 2007-07-25 09:16:44,204 DEBUG [org.jboss.jms.asf.StdServerSessionPool] Clearing 1 from ServerSessionPool
    44587 2007-07-25 09:16:44,205 DEBUG [org.jboss.jms.asf.StdServerSession] closed
    44588 2007-07-25 09:16:44,205 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Stopping DLQHandler
    44589 2007-07-25 09:16:44,205 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Stopped DLQHandler
    44590 2007-07-25 09:16:44,205 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroying DLQHandler
    44591 2007-07-25 09:16:44,206 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroyed DLQHandler
    44592 2007-07-25 09:16:44,206 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Waiting for reconnect internal 10000 ms
    44593 2007-07-25 09:16:54,211 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Trying to reconnect to
    Thanks

    Hi,
    This is with reference to your CV Posted in jobsite. Let me introduce myself Kranti, working with Techpoint Solutions! as IT Recruiter. We have job opening matching your profile.
    Send your update Resume to
    [email protected]
    Note:
    1. Check list below is mandatory, without the check list we cannot process your CV.
    Full Name:
    DOB:
    Current CTC:
    Exp CTC:
    Notice Period:
    Current Location:
    Ready to relocate to Hyderabad :
    Job Location : Hyderabad
    Once your profile gets short-listed, you would be called for a face to face interview.
    JOB SPECIFICATION �
    Senior Developer/ Lead
    Experience Required:
    Total Years of Experience: 4+years experience in IT
    At least 1 -2 years experience leading a team.
    Education: Should be a BE/ B Tech/ ME/ M Tech/ ! MCA/ M Sc in IT/ Systems/ Computers.
    - Consistent 60% academic record is a must.
    - Candidates interviewed by us in the last 6 months are not eligible.
    - Correspondence / Part time Courses does not qualify.
    - Gaps in Education / Career should not be more than 2 yrs (If any).
    - At least 50% of yo! ur Post Qualification experience should be relevant to IT or to the skill set that we are looking at.
    Description
    Develop web pages and backend programs
    Technical Skills
    Must haves:
    Operating System worked on: Experience on Unix at least 3 years.
    Scripting language: Worked on She ll and Perl scripts minimum 3 years.
    Database exposure/Worked on : Experience on Sybase development. WebLogic Server or WebSphere. Java J2EE, JMS
    MQ, VSS (should on Application side)
    Actuate Reporting is a plus.
    Domain: Investment Banking
    Job! Location: Hyderabad
    Thanks & Regards,
    Kranti Punjala
    Executive (Recruitments)
    Techpoint Solutions.
    [email protected]

  • SOA OSB and JMS issues

    Hi guys,
    We are trying to achieve synchronous communication using JMS. The client in Weblogic Domain 1 creates a JMS Message , and sets the JMSReplyTo attribute as queue ‘Reply’ where it waits on for a reply. It waits for a message having correlation id = to the messageid of the message it sent on the ‘reply’ queue. An OSB proxy service picks the message and puts it on a queue on Weblogic Domain 2. A MDB listening to this queue on domain 2, picks the message and creates a reply message with the correlation id of reply as message id of incoming message. At this point when we inspect the JMSReplyTo header value of the request message, it appears as null. Is the JMSReplyTo attribute not retained across Weblogic domains? Or is the proxy service not copying it over.
    Our basic aim is to get the request message from a queue on one domain to another domain, and get the reply back on the right queue that the client is pinning on.
    Is using OSB not the right approach or we are not configuring it right? Will using Weblogic SAF capability help us?

    You have to configure a transport header action with "pass all headers through pipeline" option to make this work.
    Configuring Transport Headers in Message Flows
    The transport header action is a communication type action, and it is available in pipeline stages and error handler stages.
    Configuring Global Pass Through and Header-Specific Copy Options for Transport Headers
    The following options are available when you configure a transport headers action:
    > * The Pass all Headers through Pipeline option specifies that at run time, the transport headers action passes all headers through from the inbound message to >the outbound message or vice versa. Every header in the source set of headers is copied to the target header set, overwriting any existing values in the target >header set.

  • JMS messages stuck in queue in weblogic v923 cluster

    Hi all,
    Enviornment details:
    In our pre-production weblogic v923 cluster enviornment with Oracle 10g database, there are 10 server boxes with 2 managed nodes running on each server box in linux enviornment.
    There are 3 JMS queues and 1 error queue per managed node.
    All the queues are durable and the persitence store is a database table. There is a single database table per single managed node.
    High loads of JMS messages from client applications coming on each of the 3 JMS queue are processed by the cluster on daily basis.
    The JMS messages that failed to be processed the very first time due to the application logic exceptions are put on error queue since the retry is set to zero on the non-error queue.
    The application exceptions are logged to a database table for futher reference.
    The falied messages from the error queue are read by spring based MDP and resent to the application for reprocessing.
    If no application exceptions, the message will be persisted in a relational database; in the case of failures, MDP code puts the failed message back on to the error queue.
    The auto_ack is true on the JMS message.
    It is observed about less than 1% of the messages fail the original processing and are in error queue on daily basis.
    99.9% of the time, the reprocessing of the messages from the error queue is a success.
    Currently due to some obvious reasons, the system administrator stops a managed node when the disk is full and start a different managed node on the same server box. This approach will be stopped in the very near future so that all nodes on all servers are running at any point of time by making few enviornment changes.
    Problem:
    1a) Occasionally, it is observed that 1 - 4 JMS messages are stuck in the error queue. There are no signs of reprocessing as there are no application exceptions or the corresponing insert into the database. The JMS persistence store table still has the JMS message.
    1b) It is observed that over time, the same JMS messages that were originally stuck on server 1's managed node A are no longer there but are found in a different node (say node B) on a different server box.
    As far as I understand the JMS, a message could be in a Pending state if MDP (in my case) does not automatically send ACKNOWLEGMENT back due to an issue in the Spring Defaultlisternercontainer before calling MDP's onMessage(). I am not sure as what happens to that status over time).
    It is also observed that the stuck messages content is not much different than the other messages that are processed fine.
    Any pointers/input is highly appreciated.
    Thanks in advance for your valuable input and time.

    Off the top of my head, I can only think of two reasons why a message might move from node to node:
    (A) An application is dequeueing them and enquening them elsewhere.
    (B) The application is using distributed queues, and the distributed queue has been configured to enable "queue forwarding". The forwarding feature automatically moves messages from distributed queue members that have no consumers to members that do have consumers. Queue forwarding is sometimes enabled as a work-around to better enable MDP support of WL distributed destinations, unlike WebLogic MDBs, MDPs have no container logic to ensure that all members of a distributed destination are serviced by a consumer under all circumstances...
    Regards,
    Tom

Maybe you are looking for

  • How do I create a recurring event for the second Monday of every month?

    I want to create a recurring event. It's an event that occurs the second and fourth monday of every month. I'd be happy to split this into two events if need be. The Custom repeat setting allows me to make the event occur every two Mondays. But some

  • APEX_LIST.SELECT_ITEM() issue

    Hi all, I'm new to Apex. I'm having a problem when I want to download a CSV report from an interactive report, the thing here is that the interactive report has this SQL query code in its region source: select APEX_ITEM.SELECT_LIST(1,'Y','Yes;Y,No;N'

  • Xcode 6.1 Not able to open, missing plug-ins?

    Hello, I have download and reinstalled Xcode 6.1 for about the 5th time and restarted my computer and i keep getting a error saying that Xcode is missing plug ins which is not even allowing me to open Xcode at all. It is telling me to reinstall Xcode

  • Bug : Scrolling in CC app with Mac 10.8

    Hello, I have a problem with scrolling : my mousewheel doesn't work anymore, so I use the scrollbar a lot. In Mac 10.8, you have a feature that hides the scrollbar by default, considering that everyone has a trackpad, or a working mousewheel (they sh

  • Representing Smallworld network in Oracle Spatial

    I'm trying to determine the network capabilities of Oracle Spatial. We are discussing whether it has equivalent capbilities as the Smallworld data model. Is there currently a translator that can convert Smallworld data into Oracle Spatial, without lo