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.
          

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.

  • 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

  • Scaleability of JMS Clients Receiving Messages

    How do you scale the receipt of messages in a JMS client for messages from the same topic?
    Given a topic, I would like to enable concurrent receipt and processing of messages by many concurrent listeners where a single message is only consumed once by any of the listeners. Even more, I would like to scale by having many clients with possibly many listeners servicing the same topic where a single message is only consumed/processed once.
    However, based on the documentation (see below) it appears sessions only enable a single thread of execution to be simultaneously running servicing incoming messages one at a time! And adding subscribers implies the delivery of a single message to each subscriber creating duplicate processing of the same message.
    Quote from JMS Tutorial: "The session used to create the message consumer serializes the execution of all message listeners registered with the session. At any time, only one of the session's message listeners is running."

    Hi vincegeorge,
    To be able to have several consumers actively using message listeners concurrently you could create each consumer on a different session. This would get around your problem of concurrent receipt and processing of messages when using message listeners.
    The second problem, ensuring that each message is received by only one TopicSubscriber is much more difficult. As each subscriber will receive every message that is sent to the particular topic then each subscriber will be sent a copy of that message. The only exception to this rule is if you have set a "message selector" for the consumer. If you knew exactly which subscribers were active at the publisher end then you could set a property on the message, e.g. SubscriberID=1, on the message and then each subscriber could set a message selector to say that they only wished to receive messages with the property SubscriberID set to their particular number. To notify the publisher which subscribers are active you could have a special destination that contains heartbeat messages informing everyone of their subscriberID.
    However, is it possible instead though that you could use a queue. This would be much easier to code (no message selector and no need to keep everyone informed of which subscriberID's are available) as the queue would ensure that only one receiver ever consumed the message.
    Hope this helps a little,
    Tom Jenkinson
    Arjuna Technologies Limited

  • How to invoke the mdb  without jms client

    Hi,
    I have a requirment in that I want to invoke the message driven bean without jms client.
    ejb 2.1 support this but I don't know how.
    if any one have an idea pl reply this.
    thanks

    Ino I did not mean invoke MDB without sending a message, but I want to say invoking the mdb by some other like jaxm client or soap client.
    if u have any idea pl tell me.
    thanks
    manish

  • Can i build a JMS client application with J2ME ?

    I need to know which configuration and profile will allow me to build a application that will run on a windows ce / pocketpc PDA and send JMS messages to a server. I need the J2ME application to be a JMS client
    I also need messaging
    pda -> server (text or byte message)
    server -> pda text messages
    pda -> pda text messages
    any helps/comments would be appreciated

    maybe what i need to look at is the new wireless messaging (WMA) ?

  • What is the impact of upgrading JMS client from 3 to 5?

    Hi,
    I'm new to JMS client. Recently, I was tasked to look into re-writing
    one of our old applications that was using JMS client 3.0.
    The company is going to upgrade all the existing JMS client from
    3.0 to 5.0 and Sonic MQ from 4.0 to 6.1
    Please advise how should I go about doing it? Will there be any
    major changes in my JMS client when it upgrades from 3 to 5?
    It will be great if you can pinpoint me to any resources on the web that
    I can read and research on.
    thanks
    Kenny

    JDBC 10g works just fine against 9.2 database. See the interopeability matrix on the JDBC portal http://www.oracle.com/technology/tech/java/sqlj_jdbc/index.html
    Kuassi - blog http://db360.blogspot.com/

  • JMS Client from scretch

    hi,
    i'm new to sun appserver.
    i need to connect to JMS from a standalone client.
    1. which jars do i need from appserver/lib?
    2. which values do i use in InitialContext():
    Hashtable ht = new Hashtable();
    ht.put(Context.INITIAL_CONTEXT_FACTORY, "???"));
    ht.put(Context.PROVIDER_URL, "???");
    InitialContext initialContext = new InitialContext(ht);
    ...

    Hi Soumya,
    Yes, you can send and receive message from JMS client via XI.
    create queue, queue manager at websphere system and use those values while configuring JMS adapter.
    You need queuename, queue manager name, system userid n pwd in which the above queues are created
    Hope you have deployed all the necessary jar files in SDM.
    Regards,
    Ravi.

  • C/C++ using SOAP as JMS Client ?

    Did any body tried C/C++ using SOAP as JMS Client?

    You can register any compliant JMS provider as a foreign jms provider in weblogic and then can access the JMS administered objects (destination and connection factory) from the local weblogic JNDI tree.
    This blog shows how to configure AQJMS as a foreign JMS provider and then configure JMS adapter to access the jms objects.
    http://biemond.blogspot.com/2009/07/using-aq-jms-text-message-in-wls-1031.html
    You can use the above link as a reference on how to setup. You will have to modify the Initial Context Factory, Provider URL, JNDI Properties, foregin connection factories and foreign detsinations section to suit activeMQ.
    Note: Weblogic does not come inbuild with the required jars to connect to ActiveMQ unlike AQJMS, so you need to ensure that the active mq jms client jars are available in the weblogic's classpath.

  • WL8.1 jms client not working with WLS9.1

    Hi,
              I have a JMS client(MDB) with weblogic.jar(8.1 version) and its not able to pick messages from a queue which is created in WLS9.1.
              I have actually upgraded my weblogic domain using the wizard and i can see my queues getting created properly.
              At the client side when i use weblogic.jar(9.1 version) it works but not with weblogic81.jar..
              Any help is greatly appreciated.
              Thanks.

    This should work as far as I know, you might want to try contacting customer support. For now, it might help to try using 8.1 with the latest service-pack.
              Tom

  • How JMS client operate on JMS server side objects?

    For example, JMS client got an instance of ConnecitonFactory by JNDI call from a remote side JMS server. Thereafter, the client uses this object to set upconnections. My question is that what kind of remote tech this is? Is it RMI or CORBA or something?

    I suspect it boils down to who your JMS Provider is.

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

Maybe you are looking for

  • Question regarding ScrollView and pageControl with multiple XIBs

    Hi, I am very new to iPhone programmming and OO type programming in general so please forgive me for my basic questions. I am trying to set a paging scrollview up with each page being loaded from a different XIB and put into a view controller. This v

  • Foreign Currency Difference is not getting posted.

    Co. Code Currency is EURO, but the document is posted in USD and when the payement is made thru F-53 in EURO, the system shows that difference is too large to post. Invoice in USD 1629 payment made in Euros 1225 Generally the tolerance the limit is s

  • How can I select multiple files in the Import grid view in LR4?

    So far the only way I have discovered is to laboriously click the checkbox on each image I want to import. It seems that one should be able to select a range with one click (e.g. holding down Shift and then clicking the last image in the range) or by

  • Downloading a binary via IE and getting the "corrupt or invalid" message

    Hi, I'm trying to resolve the issue when downloading a binary via IE and getting the "corrupt or invalid" message. I've tried using the /tr switch instead of /t, however I still get the same problem. I'm using the signtool.exe from SDK 8.1 and IE ver

  • POR Issue

    Hi, After making the POR from SUS, the status of POR (BUS2209) in EBP went into Error In Process. Because of this, confirmation button is not visible at SUS. When I analysed the workitem is not triggered for POR in EBP. We have automatic approval in