JMS client classes

Hi
          Where can I get WL JMS client classes? Are they available as free distribution?
          Thanks
          

The server's "weblogic.jar" is also the WL JMS client classes. And yes, there
          is no charge for clients. For a smaller jar, see the messages in the
          thread "how can I create a smaller jms client jar".
          Alex wrote:
          > Hi
          >
          > Where can I get WL JMS client classes? Are they available as free distribution?
          >
          > Thanks
          

Similar Messages

  • JMS Client disconnects often randomly in Weblogic10.3 cluster setup

    Hi,
    It would be very helpful for us if someone can suggest the way to overcome the below jms issue.
    Our application recently migrated to Weblogic 10.3 from Weblogic8.1, It is a clustered set up with two managed servers each on different solaris machine.
    Client connects to jms using wljmsclient.jar and wlclient.jar with t3 protocol.
    When client starts jms connection, it is getting connected to server with no errors, however we often see that client jms connection disconnects in between,
    It sometimes calls onException() and some times we do not even see any error message in console log when it disconnects,
    When onException() is called, we can see below exception stack trace:
    ==========================
    JMS exception class = weblogic.messaging.dispatcher.DispatcherException: java.rmi.MarshalException: CORBA COMM_FAILURE 1398079697 No; nested exception is:      
         org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 209 completed: No
    weblogic.jms.common.JMSException: weblogic.messaging.dispatcher.DispatcherException: java.rmi.MarshalException: CORBA COMM_FAILURE 1398079697 No; nested exception is:      
         org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 209 completed: No
         at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:116)
         at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncNoTran(DispatcherAdapter.java:61)
         at weblogic.jms.client.JMSSession.acknowledge(JMSSession.java:2191)
         at weblogic.jms.client.JMSSession.acknowledge(JMSSession.java:2120)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4588)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
         at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
    JMS exception class = java.rmi.MarshalException: CORBA COMM_FAILURE 1398079697 No; nested exception is:      
         org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 209 completed: No
    weblogic.jms.common.LostServerException: java.rmi.MarshalException: CORBA COMM_FAILURE 1398079697 No; nested exception is:      
         org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 209 completed: No
         at weblogic.jms.client.JMSConnection.dispatcherPeerGone(JMSConnection.java:1436)
         at weblogic.messaging.dispatcher.DispatcherWrapperState.run(DispatcherWrapperState.java:692)
         at weblogic.messaging.dispatcher.DispatcherWrapperState.timerExpired(DispatcherWrapperState.java:617)
         at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
    =======================
    When onException() is triggered, TopicConnection and TopicSession gets recreated in program, however jms is not getting reconnected once onException() is called. Some times jms session is lost in between with out any errors in log. We did not see this issue when our app used Weblogic8.1.
    We greatly appreciate if someone can help to resolve this issue.

    Hi,
    This is a common issue if you use wljmsclient.jar and wlclient.jar at client side. Many times we get "org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 209 completed: No" Please try using weblogic.jar at client end or even there is a better option to create the "*wlfullclient.jar*" using the jarBuilder utility provided as part of WebLogic.
    To create the "wlfullclient.jar" please refer to the following link:
    [http://download-llnw.oracle.com/docs/cd/E11035_01/wls100/client/jarbuilder.html#wp1077742|http://download-llnw.oracle.com/docs/cd/E11035_01/wls100/client/jarbuilder.html#wp1077742]
    Thanks
    Jay SenSharma
    http://jaysensharma.woardpress.com

  • How to configure for remote JMS client?

    I have my own Java JMS test program for performance measurements.
              I am using the JNDI and JMS provider functionality of the WebLogic 9.1 app-server but my test program is just pure JMS 1.02 sender/receiver clients - ie it is NOT part of, or deployed as a J2EE application.
              SINGLE MACHINE TEST
              ===================
              In a single machine environment I was able to
              - configure a JMSServer
              - configure a JMSSystemModule
              - configure resources for ConnectionFactories and Queue and Topics
              I then made what I believe to be a 'standalone' application module copied from some mysystemmodule-jms.xml and with that I somehow worked out how to deploy it using the weblogic.Deployer tool.
              The deployment apparently set up the JNDI and my JMS client could gain access to the administered objects and do what it does.
              Everything works.
              TWO MACHINE TEST
              ================
              I now have a second machine.
              I want to put my JMS sender client on this new machine and I want the JMS server and JMS receiver client to be unchanged from the SINGLE MACHINE TEST.
              But I really don't know quite how to proceed from here...
              Do I need to install the WebLogic app-server on the sender machine or is the weblogic.jar all I need?
              What is necessary configuration for JNDI access on the sender machine?
              Can I in fact use my original SINGLE MACHINE server unchanged as I am hoping?
              I don't think I want a "thin" client because I read that performance is impacted (and these are performance tests)
              Remember this is NOT a J2EE application. There is no MDB; no client-container; no descriptors etc. Maybe that makes it more complicated - I don't know.
              Sorry for such basic questions but if somebody can just point me to an appropriate example or tutorial it could save me days...
              Thankyou.

    Hi,
              My problem is on similar lines. I have an applet based UI working on RMI/t3 protocol.
              I am using weblogic 9.2 as my app server.
              When my applet is executed on JRE 1.5x it works fine.
              But when I use JRE1.4x it gives the following exception
              java.lang.NoClassDefFoundError: javax/management/InvalidAttributeValueException
              at weblogic.rmi.internal.Stub.<clinit>(Stub.java:21)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:141)
              at weblogic.rmi.internal.StubInfo.class$(StubInfo.java:34)
              at weblogic.rmi.internal.StubInfo.<clinit>(StubInfo.java:34)
              at java.lang.Class.forName0(Native Method)
              I have analyzed the reason for this.
              the class javax/management/InvalidAttributeValueException was included in java 1.5 and above. So JRE 1.4 does not have it.
              In previous versions of weblogic this class was a part of their 'weblogic.jar' file and in weblogic 9.2 it is not a part of weblogic.jar file so when I am using JRE1.4 and weblogic 9.2 then it obviously does not find this class hence the above exception.
              I tried to put this all together and made custom made client jar file incliding the necessary classes. I was able to get throght this exception only land up in following exception.
              java.lang.VerifyError: class weblogic.utils.classloaders.GenericClassLoader overrides final method .
                   at java.lang.ClassLoader.defineClass0(Native Method)
                   at java.lang.ClassLoader.defineClass(Unknown Source)
                   at java.security.SecureClassLoader.defineClass(Unknown Source)
                   at sun.applet.AppletClassLoader.findClass(Unknown Source)
                   at java.lang.ClassLoader.loadClass(Unknown Source)
                   at sun.applet.AppletClassLoader.loadClass(Unknown Source)
                   at java.lang.ClassLoader.loadClass(Unknown Source)
                   at java.lang.ClassLoader.loadClassInternal(Unknown Source)
                   at weblogic.jndi.WLInitialContextFactoryDelegate.<clinit>(WLInitialContextFactoryDelegate.java:204)
                   at weblogic.jndi.spi.EnvironmentManager$DefaultFactoryMaker.<clinit>(EnvironmentManager.java:26)
                   at weblogic.jndi.spi.EnvironmentManager.getInstance(EnvironmentManager.java:48)
                   at weblogic.jndi.Environment.getContext(Environment.java:307)
                   at weblogic.jndi.Environment.getContext(Environment.java:277)
                   at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
                   at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
                   at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
                   at javax.naming.InitialContext.init(Unknown Source)
                   at javax.naming.InitialContext.<init>(Unknown Source)
              I really need to support clients using Jre 1.4 and Jre 1.5
              I will really appreciate any help on this one.
              Please advise.
              Thank you all.

  • Smallest JMS Client footprint?

              Hi everyone,
              I would like to deploy a JMS client applet and avoid downloading the 38MB weblogic.jar
              file. The WebLogicThinClient whitepaper gives a few suggestions on how to reduce
              the size of the JAR file. After getting the first method to work (using utils.verboseTozip),
              I'm left with a JAR file containing 1058 class files and weighing in at a little
              over 5 Mb. Is this really the smallest set of files required to support JMS functionality?
              Thanks,
              Elias
              

    Hi Elias,
              I don't know the answer the to all your problems, hopefully someone else
              in the newsgroup can contribute here. More in-line.
              Tom
              [email protected] wrote:
              > Hi again,
              >
              > I've been experimenting with the URLClassLoader and you were right, the
              > JAR file produced using this method is much smaller (1Mb) than the one
              > produced with the verboseToZip utility (5Mb). Furthermore, I am now able
              > to run my JMS tests without seeing any exceptions.
              As a safety precaution: if you plan on disabling the URLClassLoader once
              you've got the classes, you may wish to consider including all "Exception"
              classes that occur in the same package as any other class you download.
              This is in case your tests don't cover all error conditions...
              > Unfortunately, there
              > are still a couple of vexing problems:
              >
              > Just after starting the URLClassLoader program the following message
              > appears.
              > "Unable to access Localizer, weblogic.i18n.L10nLogLocalizer"
              > Not one of the jar files in the server/lib directory contains this
              > class. There is a L10nLogLocalizer.properties file, which should be
              > located by the URLClassLoader but isn't...?
              I think you're correct. I'm not sure how to force the URLClassLoader
              to find such files. If you find out, please let me know.
              In this case, I think this file is only used for localizing client side log messages that
              get dumped to stdout, but there are very few such messages. If your app runs,
              I think you can safely ignore the "Unable to access..." message.
              >
              >
              > After setting up the JMS environment (connections, sessions, producers,
              > consumers, etc.), the test driver publishes some messages of different
              > types. The onMessage() method I implemented should print out "received X
              > message", where X is the message type. Unfortunately, I don't see this
              > message printed out at all and instead see "testSync TX = null" instead.
              > I have no idea what this means, but it appears that the onMessage()
              > method is not being invoked for some reason. Do you have any idea what
              > this indicates?
              No.
              > Am I somehow missing a class that I need?
              To narrow down the problem:
              Try with the full weblogic.jar in the applet.
              Try running as regular client with full weblogic.jar, then with your small.jar.
              > Has anyone
              > else ever seen this message print out when they were expecting something
              > else? Thanks again for any assistance, I feel quite close to a workable
              > solution! Please let the BEA developers working with JMS that the "thin
              > JMS client" JAR file will be well received.
              Just send cash directly to BEA's Liberty Corner, NJ site.
              >
              >
              > Elias
              >
              > Tom Barnes wrote:
              >
              > > The URLClassLoader method in the same white-paper will likely produce a smaller client than the
              > > verboseTozip method - perhaps at least half the size.
              > >
              > > The next release of WL (unofficially 7.1) will include the long-awaited pre-packaged thin JMS
              > > client. (Yes finally!) Really really. I think the beta is scheduled to be out before the
              > > end of the year (sorry I can't give out the planned dates - I don't know if they are public
              > > yet.)
              > >
              > > Currently, I think the smallest J2EE style applet client can be achieved by proxying JMS calls
              > > via an EJB, where calls to the EJB are made via the JVM's built-in IIOP client.
              

  • -- Error during running JMS client --

    Hello ,i m novice in JMS,just trying to Implement my first JMS programming on WL8.1,I m getting error during Run client program
    My client program is below :
    package examples;
    import javax.naming.*;
    import javax.jms.*;
    import java.util.*;
    public class Client
    public static void main(String[] args)throws Exception
         Properties props = System.getProperties();
         props.put(Context.PROVIDER_URL,"t3://localhost:7001");
         props.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    Context ctx=new InitialContext(System.getProperties());
    TopicConnectionFactory factory=(TopicConnectionFactory)ctx.lookup("javax.jms.TopicConnectionFactory");
    TopicConnection connection = factory.createTopicConnection();
    TopicSession session=connection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
    System.out.println("Envi Veraibles" + ctx.getEnvironment().toString());
    System.out.println("Object Retrived "+ctx.lookup("testtopic").toString());
    Topic topic =(Topic)ctx.lookup("testtopic");
    TopicPublisher publisher=session.createPublisher(topic);
    TextMessage msg=session.createTextMessage();
    msg.setText("This is a test message");
    publisher.publish(msg);
    I m getting error during running client ::
    Exception in thread "main" java.lang.ClassCastException: weblogic.jms.client.JMSConnectionFactory  examples.Client.main(Client.java:23)
    i think error is due to this line
    Topic topic =(Topic)ctx.lookup("testtopic");
    Pls Help me
    Thnx in Advance ...

    First of thanks for gave me a Reply.
    (1) System.out.println("Object Retrived "+ctx.lookup("testtopic").toString()); this line is nothing just i wanted to check that program giving me a object or not .and output of this line is
    Object Retrived weblogic.jms.client.JMSConnectionFactory@1f66cff
    (2)Testtopic is not a object but it is JNDI name whichever i specified in webligic-ejb-jar.xml
    (3)i added this line System.out.print("Second output"+ctx.getClass().getName()); and i got this output:
    Second output javax.naming.InitialContext
    but still i m getting same error
    here i m describing my code for ejb-jar.xml
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <!-- Generated XML! -->
    <ejb-jar>
    <enterprise-beans>
    <message-driven>
    <ejb-name>LogBean</ejb-name>
    <ejb-class>examples.LogBean</ejb-class>
    <transaction-type>Container</transaction-type>
    <message-driven-destination>
    <destination-type>javax.jms.Topic</destination-type>
    </message-driven-destination>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>LogBean</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    (2)*LogBean.java*
    package examples;
    import javax.ejb.*;
    import javax.jms.*;
    import javax.naming.*;
    public class LogBean implements MessageDrivenBean,MessageListener
         protected MessageDrivenContext ctx;
    public void setMessageDrivenContext(MessageDrivenContext ctx)
         this.ctx=ctx;
    public void ejbCreate()
         System.err.println("ejbCreate()");
         public void onMessage(Message msg)
              if(msg instanceof TextMessage)          {
                   TextMessage tm=(TextMessage)msg;
                   try
                        String text=tm.getText();
                        System.err.println("Received new message:"+text);
                   catch (JMSException e)
                        e.printStackTrace();
    public void ejbRemove()
         System.err.println("ejbRemove()");
    (3)*webogic-ejb-jar.xml*
    <!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN' 'http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd'>
    <!-- Generated XML! -->
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>LogBean</ejb-name>
    <message-driven-descriptor>
    <pool>
    </pool>
    <destination-jndi-name>testtopic</destination-jndi-name>
    </message-driven-descriptor>
    <transaction-descriptor>
    </transaction-descriptor>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    you have already client program ,i sent it on first time.
    Thnx again ...

  • Help getting JMS Client Working

    I am trying to set up a simple JMS Chat program. I installed AS7 on my Windows XP workstation and configured a Physical Destination (topic1), a Destination (myTopic) and a Connection Factory (myTCF).
    I followed the documentation exactly and when I run the following code, I am getting a lot of exceptions.
    try {
    String CONTEXT_LOOKUP = "java:comp/env/jms/TopicConnectionFactory/myTCF";
    String TOPIC_LOOKUP = "java:comp/env/jms/myTopic";
    initialContext = new InitialContext();
    TCFactory = (TopicConnectionFactory) intialContext.lookup(CONTEXT_LOOKUP);
    topic = (Topic) initialContext.lookup(TOPIC_LOOKUP);
    } catch (NamingException ne) {}
    try {
    topicConnection = TCFactory.createTopicConnection();
    topicSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
    topicPublisher = topicSession.createPublisher(topic);
    topicConnection.start();
    } catch (JMSException jmse) {}
    I just need to get a simple JMS client to work to evaluate AS7. Anyone have something like this?

    I went and ran the example for jms topics. It is a servlet and it works just fine.
    I followed the same step as in the example with my client and I received the errors below. There must be some setting that I don't know about as mine is an applications and the example is a servlet.
    Errors:
    Feb 5, 2003 1:50:40 PM com.sun.enterprise.util.ORBManager initializeORBMonitorin
    g
    SEVERE: UTIL6034:Could not initialize ORB monitoring
    java.lang.IllegalStateException: Monitorable component can not be registered bec
    ause admin service has not been initialized.
    at com.iplanet.ias.admin.monitor.MonitoringHelper.registerORBMonitoringM
    Bean(MonitoringHelper.java:305)
    at com.iplanet.ias.admin.monitor.MonitoringHelper.registerSystemORBMonit
    oringMBean(MonitoringHelper.java:252)
    at com.sun.enterprise.util.ORBManager.initializeORBMonitoring(ORBManager
    .java:732)
    at com.sun.enterprise.util.ORBManager.init(ORBManager.java:261)
    at com.sun.enterprise.naming.SerialInitContextFactory.<init>(SerialInitC
    ontextFactory.java:31)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
    orAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
    onstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
    at java.lang.Class.newInstance0(Class.java:306)
    at java.lang.Class.newInstance(Class.java:259)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
    49)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:175)
    at prototypec.ClientUI.<init>(ClientUI.java:115)
    at prototypec.ClientMain.<init>(ClientMain.java:24)
    at prototypec.ClientMain.main(ClientMain.java:31)

  • JMS Client Program

    Hi,
    I'm trying to run my JMS Client program to post a message to XI JMS Queue.
    But I'm getting the following exception... java.lang.ClassCastException
    at QueueConnectionFactory.
    Also tried to catch the name of the returned class name...
    com.sap.engine.services.jndi.persistent.UnsatisfiedReferenceImpl
    Can anyone has an idea what could be the possible solution?
    Any help is highly appreciated.
    Here are the details...
    SAP_NAMING_PROVIDER_URL = localhost:50204 (50200 being J2EE port)
    SAP_INITIAL_CONTEXT_FACTORY_IMPL = "com.sap.engine.services.jndi.InitialContextFactoryImpl"
    QueueConnectionFactory queueConnectionFactory =(QueueConnectionFactory) jndiContext.lookup("jmsfactory/default/QueueConnectionFactory")
    Queue queue = (Queue) jndiContext.lookup(
                      "jmsqueues/default/MyTestQueue")
    Thanks and Regards,
    Vijay

    Hi Archana,
    The link isn't working and giving a message as..."Error: Session expired!"
    By the way my code is an extract of the one that is available at... <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/44/efec3341ad67d8e10000000a155369/frameset.htm">help.sap.com</a>
    If you think this is different to the one that you intend to send, can you please send me the correct one?
    Thanks and Regards,
    Vijay Kalyan

  • C or C++ JMS Client

              Hi,
              Is there any way to have a C++ or a C program running as a JMS client?
              Thanks in advance,
              Goutam.
              

    Hi,
              See attached FAQ for C JMS client and other
              C integration approaches.
              Tom
              Goutam Mukherjee wrote:
              > Hi,
              >
              > Is there any way to have a C++ or a C program running as a JMS client?
              >
              > Thanks in advance,
              > Goutam.
              JMS Integration of Foreign Vendors with BEA WebLogic Server
              The following notes are derived mostly from "http://dev2dev.bea.com/technologies/jms/index.jsp".
              For additional questions, a good forum for WebLogic questions in general is "newsgroups.bea.com". These can be mined for information by using Google's newsgroup search function.
              JMS Integration Overview
              - For integration with "non-Java" and/or "non-JMS" platforms, see "Non-Java Integration Options" below.
              - For a foreign JMS vendor to participate in a WL transaction it must support XA. Specifically, it must support the javax.jms.XA* interfaces.
              - In WL versions 6.0 and up it is possible to make synchronous calls to foreign JMS vendors participate in a WL transaction as long as the foreign vendor supports XA.
              - WL 6.0 and 6.1 MDBs can be driven by foreign vendors non-transactionally. They can be driven transactionally by a select few foreign vendors (MQ is not part of the select few)
              - WL 7.0 and later, MDBs can be driven by foreign vendors transactionally and non-transationally.
              - WL 6.1 and later WL provides a messaging bridge feature. Messaging bridges forward messages between any two JMS destinations, including foreign destinations, and can transfer messages transactionally or non-transactionally.
              - WL 8.1 JMS provides additional features that simplify transactional and JNDI integration of foreign vendors. See http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features
              Integration with 8.1 Details
              A good overview of 8.1 JMS interop capability is the presentation "Integrating Foreign JMS Providers with BEA WebLogic Server" here:
              http://www.bea.com/content/files/eworld/presentations/Wed_03_05_03/Application_Servers/1097-Foreign_JMS_Providers_WLS.pdf
              This document refers to helpful new 8.1 features, which simplify integration. These include:
              http://edocs.bea.com/wls/docs81/ConsoleHelp/jms_config.html#accessing_foreign_providers
              http://edocs.bea.com/wls/docs81/jms/j2ee_components.html#1033768
              And are also summarized here (under interoperability):
              http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features
              Also read the extensive MDB documentation, which extensively covers integrating foreign vendors:
              http://edocs.bea.com/wls/docs81/ejb/message_beans.html
              The 8.1 features are likely sufficient for most 8.1 integration needs, and you may not need to refer "Using Foreign JMS Providers With WLS" white-paper mentioned below.
              Integration with 6.1 and 7.0 Details
              Read the "Using Foreign JMS Providers With WLS" white-paper:
              http://dev2dev.bea.com/products/wlserver/whitepapers/jmsproviders.jsp
              Note that this white-paper does not take into account 8.1 features.
              For 7.0 read the extensive 8.1 MDB documentation, which largely also applies to 7.0:
              http://edocs.bea.com/wls/docs81/ejb/message_beans.html
              Non-Java Integration Options
              - WL JMS has a JNI based C client which can be called directly from windows. This C client supports 7.0 and up, and will be officially packaged with WLS in 9.0 (virtually unchanged). The C API is currently only supported through the jms newsgroup. See "JMS C API", here:
              http://dev2dev.bea.com/technologies/jms/index.jsp
              - WL supports direct Windows COM access through its "JCOM" feature. This doesn't include the JMS API, but one can invoke EJBs which in turn invoke JMS. See
              http://e-docs.bea.com/wls/docs61/jcom.html
              http://e-docs.bea.com/wls/docs70/jcom/
              http://e-docs.bea.com/wls/docs81/jcom/
              - Similar to JCOM, but more advanced, WL supports IIOP standard based access on multiple platforms. You can use the BEA Tuxedo C client for this purpose (no license fee). This doesn't include the JMS API, but one can invoke EJBs which in turn invoke JMS. See
              http://e-docs.bea.com/wls/docs81/rmi_iiop/
              http://e-docs.bea.com/wls/docs70/rmi_iiop/
              http://e-docs.bea.com/wls/docs61/rmi_iiop/
              Unlike most other approaches, the IIOP client approach also allows the client to begin and commit user (JTA) transactions (not configured).
              - If you already have a BEA Tuxedo license, one option is communicate through BEA Tuxedo (which has various APIs on Windows) and configure a WebLogic Server to respond to these requests via the WTC bridge. Search for "WTC" in the BEA docs. Unlike most other approaches, the Tuxedo API approach also allows the client to begin and commit user (JTA) transactions.
              - Another approach is to interop via web-service standards. Or even to simply to invoke a servlet on the WL server using a basic HTTP call from Windows. These in turn can invoke the JMS API. There is a white-paper on "Interoperability Study of BEA WebLogic Workshop 8.1 and Microsoft .NET 1.1 Web Services", that demonstrates web-services here:
              http://ftpna2.bea.com/pub/downloads/WebLogic-DotNet-Interop.pdf
              - Yet another approach is to use a third party product that is designed to wrap any JMS vendor. There are even open source versions. In no particular order, here are some examples: Open3 WinJMS, CodeMesh, Active JMS, SpiritSoft
              Notes on MQ Remote Capable XA Clients
              Until recently, IBM MQ JMS clients could not work transactionally unless they were running on the same host as their MQ server. This is a limitation unique to MQ that was relaxed with the introduction of IBM's new "WebSphere MQ Extended Transactional Client". See:
              http://publibfp.boulder.ibm.com/epubs/pdf/csqzar00.pdf
              The product is new, and for some reason, configuration of this client seems to be tricky, even when WebLogic is not involved at all. Oddly, the main sticking point seems to be simply making sure that class paths refer to the required IBM jars:
              - Required on WLS where MQ objects are bound into JNDI:
              com.ibm.mq.jar, com.ibm.mqjms.jar
              - Required only if MQ objects are bound into JNDI on a different server:
              com.ibm.mq.jar
              If there are problems when using this client, first get it to work using a pure IBM client without any BEA classes involved. Once that is working, search the WL JMS newsgroup for answers and/or contact BEA customer support.
              MDB Thread Pool Notes
              WL7.0SP? and WL8.1 and later support the "dispatch-policy" field to specify which thread pool an MDB uses to run its instances. In most cases this field should be configured to help address potential performance issues and/or dead-locks:
              http://edocs.bea.com/wls/docs81/ejb/DDreference-ejb-jar.html#dispatch-policy
              (Note that "dispatch-policy" is ignored for non-transactional foreign vendors; in this case, the MDB "onMessage" callback runs in the foreign vendor's thread.)
              MDB Concurrency Notes
              Queue MDBs driven by foreign providers can run multiple instances concurrently. Topic MDBs driven by foreign providers are limited to one instance (not sure, but transactional foreign driven topic MDBs may not have this limitation). The size of the thread pool that the MDB runs in and the "max-beans-in-free-pool" descriptor limit how many instances run concurrently.
              Design Guide-Lines and Performance Tuning Notes
              The "WebLogic JMS Performance Guide" white-paper contains detailed design, performance, and tuning information for Clustering, Messaging Bridge, JMS, and MDBs.
              http://dev2dev.bea.com/products/wlserver/whitepapers/WL_JMS_Perform_GD.jsp
              

  • Stub j2ee.jar to jms-client.jar?

    I'd like to be able to run a JMS client w/ only those j2ee.jar classes relevant to a JMS client. The j2ee.jar file is about 8 MB and contains everything under the sun. It would be nice to have a JMS client jar file under 500 KB that contains only those classes relevant to a JMS client.
    Has anyone tried to create a jms-client.jar from the j2ee.jar that contains only the necessary classes to run a JMS client?
    thanks

    I was able to create a 1.1 MB jar file that can run my JMS client.
    First I ran my JMSClient with the -verbose:gc option against the j2ee.jar. With a simple java app I parsed the loaded classes list, copied all these classes to a temp dir and then created the jar file.

  • Web service proxy client class missing

    Hi,
    I am using Jdev 11g.
    I created web service proxy but I cannot find a client class.
    Where is a client class jdev created?
    This is jdev help I refered;
    Designing and Developing Applications &gt; Developing with Web Services &gt; Using Existing Web Services in Applications &gt; Creating Web Service Proxies &gt; Using Web Service Proxies
    Thanks

    Hi,
    I created a client class with jdev10134 and put class in my jdev11g project.
    I got following error when run client class
    Exception in thread "main" java.lang.Error: Jaxrpc 1.1 method is not supported.
         at weblogic.webservice.core.rpc.ServiceFactoryImpl.loadService(ServiceFactoryImpl.java:65)
    I found this thread.
    "Jaxrpc 1.1 method not supported" when running jdev ws-proxy on weblogic
    I checked WLS10.3 release note, it seems supported.
    Please could someone help me?
    Thanks
    Edited by: user10445424 on 2008/11/10 17:21

  • Invoking a method in WSDL file from client class

    Hi,
    I have got a WSDL file and I have to invoke certian methods from a client class from the WSDL file. What exactly should I do to invoke them from a Java standalone program /servlet/JSP. There is a sayHello() method in the WSDL. Please tell me how to invoke that method from client side. Aslo please let me know the jar files that are needed.
    Below is the WSDL file
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace="http://tutorial.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://tutorial.com" xmlns:intf="http://tutorial.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <!--WSDL created by Apache Axis version: 1.2.1Built on Jun 14, 2005 (09:15:57 EDT)-->
    <wsdl:message name="sayHelloResponse">
    </wsdl:message>
    <wsdl:message name="sayHelloResponse1">
    <wsdl:part name="sayHelloReturn" type="xsd:string"/>
    </wsdl:message>
    <wsdl:message name="addRequest">
    <wsdl:part name="a" type="xsd:int"/>
    <wsdl:part name="b" type="xsd:int"/>
    </wsdl:message>
    <wsdl:message name="sayHelloRequest">
    </wsdl:message>
    <wsdl:message name="addResponse">
    <wsdl:part name="addReturn" type="xsd:int"/>
    </wsdl:message>
    <wsdl:message name="sayHelloRequest1">
    <wsdl:part name="name" type="xsd:string"/>
    </wsdl:message>
    <wsdl:portType name="Hello">
    <wsdl:operation name="sayHello">
    <wsdl:input message="impl:sayHelloRequest" name="sayHelloRequest"/>
    <wsdl:output message="impl:sayHelloResponse" name="sayHelloResponse"/>
    </wsdl:operation>
    <wsdl:operation name="sayHello" parameterOrder="name">
    <wsdl:input message="impl:sayHelloRequest1" name="sayHelloRequest1"/>
    <wsdl:output message="impl:sayHelloResponse1" name="sayHelloResponse1"/>
    </wsdl:operation>
    <wsdl:operation name="add" parameterOrder="a b">
    <wsdl:input message="impl:addRequest" name="addRequest"/>
    <wsdl:output message="impl:addResponse" name="addResponse"/>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="HelloSoapBinding" type="impl:Hello">
    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="sayHelloRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://tutorial.com" use="encoded"/>
    </wsdl:input>
    <wsdl:output name="sayHelloResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://tutorial.com" use="encoded"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="sayHelloRequest1">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://tutorial.com" use="encoded"/>
    </wsdl:input>
    <wsdl:output name="sayHelloResponse1">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://tutorial.com" use="encoded"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="add">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="addRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://tutorial.com" use="encoded"/>
    </wsdl:input>
    <wsdl:output name="addResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://tutorial.com" use="encoded"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="HelloService">
    <wsdl:port binding="impl:HelloSoapBinding" name="Hello">
    <wsdlsoap:address location="http://localhost/WebService1/services/Hello"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    Thanks in advance
    Prashanth

    Hi.
    Please put this line in the google search engine "Invoking java web service" u will get lots of the links.
    Sanjay Kumar Gupta
    [email protected]

  • JMS Listener Class Not found

    Hi
    I got the following error when starting weblogic 8.1 server:
    ####<Jul 14, 2004 5:24:15 PM PDT> <Notice> <Security> <sjcpc044> <myserver> <Thread-1> <<WLS Kernel>> <> <BEA-090082> <Security initializing using security realm myrealm.>
    ####<Jul 14, 2004 5:24:15 PM PDT> <Notice> <WebLogicServer> <sjcpc044> <myserver> <Thread-1> <<WLS Kernel>> <> <BEA-000327> <Starting WebLogic Admin Server "myserver" for domain "cdrdomain">
    ####<Jul 14, 2004 5:24:20 PM PDT> <Error> <JMS> <sjcpc044> <myserver> <Thread-1> <<WLS Kernel>> <> <BEA-040371> <JMSServer "JMSServer-0" JMS Server Session Pool is inavlid and has not been started "CMSessionPool". Exception is "weblogic.jms.common.ConfigurationException: Listener class, com.carescience.jms.CMMsgListener, not found".
    weblogic.jms.common.ConfigurationException: Listener class, com.carescience.jms.CMMsgListener, not found
    at weblogic.jms.backend.BEServerSessionPool.setListener(Ljava.lang.String;)V(BEServerSessionPool.java:283)
    at weblogic.jms.backend.BEServerSessionPool.initialize()V(BEServerSessionPool.java:220)
    at weblogic.jms.backend.BEServerSessionPool.<init>(Ljava.lang.String;Lweblogic.jms.common.JMSID;Lweblogic.jms.backend.BackEnd;Lweblogic.management.configuration.JMSSessionPoolMBean;)V(BEServerSessionPool.java:178)
    at weblogic.jms.backend.BackEnd.createServerSessionPools()V(BackEnd.java:792)
    at weblogic.jms.backend.BackEnd.resume()V(BackEnd.java:1314)
    at weblogic.jms.JMSService.addJMSServer(Lweblogic.management.configuration.JMSServerMBean;)V(JMSService.java:2241)
    at weblogic.jms.JMSService.addDeployment(Lweblogic.management.configuration.DeploymentMBean;)V(JMSService.java:2012)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(Lweblogic.management.configuration.DeploymentMBean;)Z(DeploymentTarget.java:330)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Ljava.util.List;)V(DeploymentTarget.java:590)
    at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments()V(DeploymentTarget.java:568)
    at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments()V(DeploymentTarget.java:240)
    at COM.jrockit.reflect.NativeMethodInvoker.invoke0(ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Native Method)
                at COM.jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
                at COM.jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
                at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
                at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(DynamicMBeanImpl.java:711)
                at weblogic.management.internal.DynamicMBeanImpl.invoke(Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(DynamicMBeanImpl.java:690)
                at weblogic.management.internal.ConfigurationMBeanImpl.invoke(Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(ConfigurationMBeanImpl.java:476)
                at com.sun.management.jmx.MBeanServerImpl.invoke(Ljava.lang.Object;Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(MBeanServerImpl.java:1557)
                at com.sun.management.jmx.MBeanServerImpl.invoke(Ljavax.management.ObjectName;Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(MBeanServerImpl.java:1525)
                at weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(Ljavax.management.ObjectName;Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(RemoteMBeanServerImpl.java:947)
                at weblogic.management.internal.RemoteMBeanServerImpl.invoke(Ljavax.management.ObjectName;Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(RemoteMBeanServerImpl.java:908)
                at weblogic.management.internal.MBeanProxy.invoke(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(MBeanProxy.java:946)
                at weblogic.management.internal.MBeanProxy.invokeForCachingStub(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(MBeanProxy.java:481)
                at weblogic.management.configuration.ServerMBean_Stub.updateDeployments()V(ServerMBean_Stub.java:7271)
                at weblogic.management.deploy.slave.SlaveDeployer.updateServerDeployments()V(SlaveDeployer.java:1210)
                at weblogic.management.deploy.slave.SlaveDeployer.resume()V(SlaveDeployer.java:362)
                at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume()V(DeploymentManagerServerLifeCycleImpl.java:229)
                at weblogic.t3.srvr.SubsystemManager.resume()V(SubsystemManager.java:131)
                at weblogic.t3.srvr.T3Srvr.resume()V(T3Srvr.java:964)
                at weblogic.t3.srvr.T3Srvr.run([Ljava.lang.String;)I(T3Srvr.java:359)
                at weblogic.Server.main([Ljava.lang.String;)V(Server.java:32)
    >
    Here is the how the ListenerClass is set up for JMSSessionPool in config.xml. The com.carescience.jms.CMMsgListener class file is in cia.ear deployed as application for this domain.
        <JMSServer Name="JMSServer-0" Store="jmsq" Targets="myserver">
            <JMSSessionPool
                ConnectionFactory="com.carescience.jms.ConnectionFactory"
                ListenerClass="com.carescience.jms.CMMsgListener"
                Name="CMSessionPool" SessionsMaximum="3">
                <JMSConnectionConsumer
                    Destination="com.carescience.jms.CMTopic" Name="CMConnectionConsumer"/>
            </JMSSessionPool>
            <JMSTopic DestinationKeys="MDSDESTKEY"
                JNDIName="com.carescience.jms.CMTopic" Name="CMTopic"/>
        </JMSServer>
        <Application Name="_appsdir_cia_ear"
            Path="C:\bea81\user_projects\domains\cdrdomain\applications\cia.ear"
            StagedTargets="myserver" StagingMode="stage" TwoPhase="true">
            <EJBComponent Name="ejb_exchange.jar" Targets="myserver" URI="ejb_exchange.jar"/>
            <EJBComponent Name="heartbeat.jar" Targets="myserver" URI="heartbeat.jar"/>
            <WebAppComponent Name="cia" Targets="myserver" URI="cia.war"/>
            <WebAppComponent Name="axis" Targets="myserver" URI="axis.war"/>
        </Application>
    I know we can avoid to the error by adding the jar file containing this class to the class path. But is there any other way?
    Best Regards,
    Kelvin Zheng                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    You could double-check in the JMS newsgroup, but I'm pretty sure that a statically configured listener like this would have to be in the classpath.
    If possible, I'd encourage you to consider using a MDB instead. That could be in your EAR file instead.
    -- Rob

  • How to set JMS clients to use JVM Invocation layer

    Hi,
    I'm not sure if this JBoss specific (but I'm assuming it's not) so I'll be asking it here. How can I set my JMS clients and Message-Driven Beans to use JVM Invocation layer since the clients and queues will reside in the same JVM.
    Thanks in advance.

    May be that explains why I couldn't successfully integrate ActiveMQ with JBoss. I was using the 3.0 version. I'll try again once I find the time.
    Anyway, do you know how to set JBoss JMS clients and MDBs to use JVM invocation or transport layer instead of UIL2?
    I'm not sure if what I've done is correct But here's what I've done.
    For jvm-il-service.xml, I changed the JNDI reference from "ConnectionFactory" to "JVMILConnectionFactory" since the default service uses "ConnectionFactory". Then I used that reference as my JNDI look up in my JMS client. I'm just not sure how to do this with MDBs. I think I should add an entry in the ejb descriptor file but I need someone to confirm.
    Thanks.

  • MDB vs standalone JMS client

    I have implemented a transformation server as a JMS client. This is not
    written as a EJB bean, partly because I'm not very familiar with EJB beans.
    I'm being told MDB is the way to go (I'm a bit reluctant in front of the
    additional work) for the usual reasons : transaction-control (not really an
    issue right now for me but may become one), ease of deployment and
    centralized monitoring. Fair enough.
    My standalone JMS client creates a lot of variables at initialization (such
    as a precompiled XSLT stylesheet to substantially improve the speed of each
    transformation).
    Where should this be created if I were to convert my standalone JMS client
    into an MDB ? In ejbCreate() ?
    I'm also a bit worried about a few aspects :
    1) Performance, the size of requests may vary tremendously and I currently
    use a synchronous receive on my input queue, is this more efficient (I pull
    messages when I'm ready) than using beans and onMessage() ? In other words,
    will the container try to push message notifications to MDB bean instances
    that are not ready ?
    2) My standalone JMS consumer is also a producer to several destinations
    (including temporary queues, permanent queues and topics), is there any
    limitation to the use of JMS destinations in an MDB (what about selectors ?)
    vs a standalone java JMS application?
    3) My standalone JMS consumer creates a few threads per request. Any gotchas
    in a MDB vs a standalone Java JMS application ? Are MDB passivated at any
    time ?
    Many thanks for any answer,
    Rosalie
    Rosalie

    Rosalie Mignon wrote:
    I have implemented a transformation server as a JMS client. This is not
    written as a EJB bean, partly because I'm not very familiar with EJB beans.
    I'm being told MDB is the way to go (I'm a bit reluctant in front of the
    additional work) for the usual reasons : transaction-control (not really an
    issue right now for me but may become one), ease of deployment and
    centralized monitoring. Fair enough.There's a number of MDB advantages over writing your own JMS consumers.
    I would recommend MDBs for JMS consumers running within WLS. If you
    have a JMS consumer that is a separate (say client) process, then
    vanilla JMS is still the way to go.
    The MDB container takes care of things like reconnecting you to JMS if
    it fails. It supports foreign JMS providers so your MDBs will work with
    "foreign" messaging systems like MQ-Series.
    >
    My standalone JMS client creates a lot of variables at initialization (such
    as a precompiled XSLT stylesheet to substantially improve the speed of each
    transformation).
    Where should this be created if I were to convert my standalone JMS client
    into an MDB ? In ejbCreate() ?Yes, ejbCreate would be fine.
    >
    I'm also a bit worried about a few aspects :
    1) Performance, the size of requests may vary tremendously and I currently
    use a synchronous receive on my input queue, is this more efficient (I pull
    messages when I'm ready) than using beans and onMessage() ? In other words,
    will the container try to push message notifications to MDB bean instances
    that are not ready ?I'm not sure I understand. You will have a pool of MDB instances all
    receiving from the queue. When an instance is available and there is a
    message pending, the EJB/JMS containers will call your MDB's onMessage
    implementation.
    >
    2) My standalone JMS consumer is also a producer to several destinations
    (including temporary queues, permanent queues and topics), is there any
    limitation to the use of JMS destinations in an MDB (what about selectors ?)
    vs a standalone java JMS application?Not that I can think of.
    >
    3) My standalone JMS consumer creates a few threads per request. Any gotchas
    in a MDB vs a standalone Java JMS application ? You are not really allowed to create threads from an EJB. Why do you
    need to create threads? In general, we wouldn't recommend that
    server-side applications create new threads on each request.
    Are MDB passivated at any
    time ?
    No
    Many thanks for any answer,Your domain name is an unusual one for the J2EE world. If you can tell
    us, I'd be interested to know what you're doing.
    -- Rob
    >
    Rosalie
    Rosalie

  • How the JMS client detect if the JMS server is still running?

    I have a JMS server running on Weblogic and a JMS client running as a standalone application on my local machine. I ran into the problem that if the JMS server is down for a period of time and then get re-started, the JMS client will lose its connection to the server. Since JMS client is just passively listening to the topic it subscribes, it will have no information about the status of the JMS server. Therefore it will not be able to receive any new message if the JMS server is restarted.
    I wonder if there is a way I can have the JMS client automatically detect if the connection to the server is lost or reset. I tried to use a while loop in JMS client that does a JNDI loopup every minute to check if the JMS server is up. But if the WL server is down, the JMS client will just catch an exception and crash.

    Hi,
    You should use an exception listener that allows a client to be notified of a problem asynchronously. As your client only consumes messages, it would have no other way to learn that its connection has failed.
    Hence, you should implement the interface ExceptionListener (let says MyExceptionListener) and define your reconnection logic in the method onException(JMSException exception). MyExceptionListener has to be registered with your connection with the method:
    public void setExceptionListener(ExceptionListener listener) throws JMSException
    Hope it helps,
    Arnaud
    www.arjuna.com

Maybe you are looking for