Message Driven Bean reading multiple times from a jms queue

Hi,
I am facing a strange problem with my message driven bean. Its configured to read message from a jms queue. But sometimes it read the same message multiple times from the jms queue.
We are using weblogic server 8.1 sp5.
Please find below our descriptor files
ejb-jar.xml  
<ejb-jar>  
  <display-name>ClarifyCRM_Process_Manager_13.1</display-name>  
  <enterprise-beans>  
    <session>  
      <display-name>ProcessManager</display-name>  
      <ejb-name>ProcessManager</ejb-name>  
      <home>com.clarify.procmgr.ejb.ProcessManagerHome</home>  
      <remote>com.clarify.procmgr.ejb.ProcessManagerRemote</remote>  
      <ejb-class>com.clarify.procmgr.ejb.ProcessManagerEJB</ejb-class>  
      <session-type>Stateless</session-type>  
      <transaction-type>Container</transaction-type>  
    </session>  
    <message-driven>  
      <display-name>ProcessManagerListener</display-name>  
      <ejb-name>ProcessManagerListener</ejb-name>  
      <ejb-class>com.clarify.procmgr.ejb.ProcessManagerMDB</ejb-class>  
      <transaction-type>Bean</transaction-type>  
      <acknowledge-mode>Auto-acknowledge</acknowledge-mode>  
      <message-driven-destination>  
        <destination-type>javax.jms.Queue</destination-type>  
      </message-driven-destination>  
    </message-driven>  
  </enterprise-beans>  
  <assembly-descriptor>  
    <container-transaction>  
      <method>  
        <ejb-name>ProcessManager</ejb-name>  
        <method-name>*</method-name>  
      </method>  
      <trans-attribute>Required</trans-attribute>  
    </container-transaction>  
  </assembly-descriptor>  
</ejb-jar>  
weblogic-ejb-jar.xml  
<weblogic-ejb-jar>  
  <weblogic-enterprise-bean>  
    <ejb-name>ProcessManager</ejb-name>  
    <stateless-session-descriptor>  
      <pool>  
        <max-beans-in-free-pool>100</max-beans-in-free-pool>  
        <initial-beans-in-free-pool>10</initial-beans-in-free-pool>  
      </pool>  
    </stateless-session-descriptor>  
    <enable-call-by-reference>False</enable-call-by-reference>  
    <jndi-name>ProcessManagerHome</jndi-name>  
    <dispatch-policy>PMExecuteQueue</dispatch-policy>  
    <remote-client-timeout>0</remote-client-timeout>  
  </weblogic-enterprise-bean>  
  <weblogic-enterprise-bean>  
    <ejb-name>ProcessManagerListener</ejb-name>  
    <message-driven-descriptor>  
      <pool>  
        <max-beans-in-free-pool>100</max-beans-in-free-pool>  
        <initial-beans-in-free-pool>10</initial-beans-in-free-pool>  
      </pool>  
      <destination-jndi-name>clarify.procmgr.jms.queue.Execution</destination-jndi-name>  
      <connection-factory-jndi-name>clarify.procmgr.jms.factories.ExecConnection</connection-factory-jndi-name>  
    </message-driven-descriptor>  
    <enable-call-by-reference>True</enable-call-by-reference>  
    <dispatch-policy>PMListenerExecuteQueue</dispatch-policy>  
    <remote-client-timeout>0</remote-client-timeout>  
  </weblogic-enterprise-bean>  
</weblogic-ejb-jar>   The MDB is sometimes reading multiple times from clarify.procmgr.jms.queue.Execution
Also i would like to add here that the connection factory we are using clarify.procmgr.jms.factories.ExecConnection is having the following properties
ServerAffinity Enabled=true
XA connection factory enabled=false.
Please help me out here!!

Maybe, your MDB "sometimes" throws an Exception in onMessage.
Check if this happens when you set <max-beans-in-free-pool>1</max-beans-in-free-pool>.

Similar Messages

  • Getting the same return string while reading multiple times from a GPIB instrument

    I'm having problems reading data from a GPIB instrument.
    I'm using a sequence similiar to this:
    1. Send a "MEASCALRES?" command to the calibrator to measure the current pressure.
    2. Read the result string sent from the calibrator.
    3. Send a "SYST:ERR:NEXT?" query to check if an error has occured.
    4. Recieve the error string from the calibrator.
    When running the program, the error string sometimes contains the same data as the pressure reading. For example, if the calibrator's pressure output string was "1.0000000e2", the error string might be "1.0000000e2" or sometimes just "20, No Errors", with the extra "2" added to the normal "0, No Errors".
    The problem a
    ppears to occure randomly, a rough estimate would be that it happens one time out of 50 readings.
    Are there any relevant GPIB card settings I can change to fix the problem?

    It looks to me that more data is send or data end is signalled to early by hte iocard.
    Maybe you should check the gpib bus cable speed. The default is much too fast for almost all instruments. Put it on 2 microseconds (the slowest speed). And we always disable autopolling, to prevent asynchronous actions.
    greetings from the Netherlands

  • Exception in setting up message-driven bean container: [MQJMS1010: not impl

    Problem
    =======
    We are trying to configure and deploy a Message Driven
    Bean to listen on a WebSphere MQ queue, using LDAP to
    share knowledge of the Queue & Connection Factory.
    But when we start the Sun One domain we get an exception:
    javax.jms.JMSException: MQJMS1010: not implemented
    (see log file at the end of this email)
    Can anybody help please ?
    The configuration of the various components are listed
    below:
    WebSphere MQ Configuration
    ==========================
    Version 5.3
    Queue Manager
    QM_Test
    Queues
    PATH_MFP.Case.Request           
         Queue Type:     Local
    Channels
    Channel_Test               
         Channel Type:     Server Connection
         Protocol Type:     TCP/IP
    LDAP configuration
    ==================
    ldap://localhost/o=mqtest
    cn=MFP_LOCAL_Factory
    javaFactory=com.ibm.mq.jms.MQQueueConnectionFactoryFactory
    javaClassName=com.ibm.mq.jms.MQQueueConnectionFactory
    javaReferenceAddress=#3#QMGR#QM_Test
    javaReferenceAddress=#6#CHAN#Channel_Test
    javaReferenceAddress=#14#TM#SYSTEM.DEFAULT.MODEL.QUEUE
    cn=MFP_LOCAL_Case_Request_Queue
    javaFactory=com.ibm.mq.jms.MQQueueFactory
    javaClassName=com.ibm.mq.jms.MQQueue
    javaReferenceAddress=#9#QU#PATH_MFP.Case.Request
    javaReferenceAddress=#10#QMGR#QM_Test
    EJB configuration
    =================
    ejb-jar.xml
         <message-driven>
    <display-name>ServerMessageDrivenBean</display-name>
    <ejb-name>ServerMessageDrivenBean</ejb-name>
         <ejb-class>nz.co.acc.emi.server.connector.mdb.ServerMessageDrivenBean</ejb-class>
         <transaction-type>Container</transaction-type>
    <message-driven-destination>
              <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
         </message-driven>
    sun-ejb-jar.xml
    <ejb>
         <ejb-name>ServerMessageDrivenBean</ejb-name>
    <jndi-name>MFP_LOCAL_Case_Request_Queue</jndi-name>
         <mdb-connection-factory>
              <jndi-name>MFP_LOCAL_Factory</jndi-name>
         </mdb-connection-factory>
         </ejb>
    Sun One configuration
    =====================
    MFPProcessing: JNDI: External Resources
    MFP_LOCAL_Factory          Enabled javax.jms.QueueConnectionFactory
         JNDI Name:      MFP_LOCAL_Factory
         Resource Type:     javax.jms.QueueConnectionFactory
         JNDI Lookup:     cn=MFP_LOCAL_Factory
         Factoryclass:     com.sun.jndi.ldap.LdapCtxFactory
         Properties:
              java.naming.provider.url          ldap://localhost:389/o=mqtest
              java.naming.security.authentication     none
    MFP_LOCAL_Case_Request_Queue     Enabled javax.jms.Queue
         JNDI Name:      MFP_LOCAL_Case_Request_Queue
         Resource Type:     javax.jms.Queue
         JNDI Lookup:     cn=MFP_LOCAL_Case_Request_Queue
         Factoryclass:     com.sun.jndi.ldap.LdapCtxFactory
         Properties:
              java.naming.provider.url          ldap://localhost:389/o=mqtest
    server.xml
    <mdb-container steady-pool-size="10" pool-resize-quantity="2" max-pool-size="60" idle-timeout-in-seconds="600" monitoring-enabled="true" log-level="FINEST" />
    <jms-service port="1240" admin-user-name="admin" admin-password="admin" init-timeout-in-seconds="30" enabled="true" log-level="FINE" />
    Sun One log file
    ================
    server.log
    [01/Mar/2004:10:06:48] INFO ( 657): CORE1116: Sun ONE Application Server 7.0.0_01
    [01/Mar/2004:10:06:51] INFO ( 657): CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.4.2_01] from [Sun Microsystems Inc.]
    [01/Mar/2004:10:07:09] INFO ( 657): JMS5023: JMS service successfully started. Instance Name = domain1_MFPProcessing, Home = [C:/Sun/AppServer7/imq/bin].
    [01/Mar/2004:10:07:13] INFO ( 657): JTS5014: Recoverable JTS instance, serverId = [100]
    [01/Mar/2004:10:07:14] INFO ( 657): RAR5060: Install JDBC Datasources ...
    [01/Mar/2004:10:07:14] INFO ( 657): RAR5059: Binding [JDBC DataSource Name: jdbc/MfsDataSourceJConn, Pool Name: MFSConnectionPool]
    [01/Mar/2004:10:07:15] INFO ( 657): JMS5015: Install JMS resources ...
    [01/Mar/2004:10:07:47] WARNING ( 657): [EntityContainer] Created EntityContainer....
    [01/Mar/2004:10:07:49] INFO ( 657): LDR5010: All ejb(s) of [mfs] loaded successfully!
    [01/Mar/2004:10:07:52] INFO ( 657): MDB00044: Deploying message-driven bean [emi:ServerMessageDrivenBean], consuming from [MFP_LOCAL_Case_Request_Queue]
    [01/Mar/2004:10:07:52] FINE ( 657): Messages delivery is part of a container-managed tx
    [01/Mar/2004:10:07:52] FINE ( 657): emi:ServerMessageDrivenBean:reconnect-delay-in-seconds=60, reconnect-max-retries=60, reconnect-enabled=true
    [01/Mar/2004:10:07:53] INFO ( 657): MDB00028: [emi:ServerMessageDrivenBean]: Message-driven bean container using external connection factory object: [com.ibm.mq.jms.MQQueueConnectionFactory]
    [01/Mar/2004:10:07:55] FINE ( 657): emi:ServerMessageDrivenBean: Setting message-driven bean pool max-pool-size=60, steady-pool-size=10, pool-resize-quantity=2, idle-timeout-in-seconds=600
    [01/Mar/2004:10:07:55] FINE ( 657): Initializing server session factory
    [01/Mar/2004:10:07:55] FINE ( 657): Created server session: [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Created server session: [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Created server session: [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Created server session: [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Created server session: [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Created server session: [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): before wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): before wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): before wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): before wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): before wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): before wait ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Created server session: [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Created server session: [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Created server session: [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Created server session: com.iplane[email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): before wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): before wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): before wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): before wait ... [email protected]
    [01/Mar/2004:10:07:55] INFO ( 657): MDB0001: Create message-driven bean pool with maximum pool size [60], bean idle timeout [600] seconds
    [01/Mar/2004:10:07:55] SEVERE ( 657): MDB00030: [emi:ServerMessageDrivenBean]: Exception in setting up message-driven bean container: [MQJMS1010: not implemented]
    [01/Mar/2004:10:07:55] FINE ( 657): MDB00018: [emi:ServerMessageDrivenBean]: Closing message-driven bean container connection
    [01/Mar/2004:10:07:55] WARNING ( 657): [AbstractPool]: Cancelled pool timer task at: Mon Mar 01 10:07:55 NZDT 2004
    [01/Mar/2004:10:07:55] FINEST ( 657): Thread[main,5,main]: in cleanup() ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Destroyed server session: [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): Thread[main,5,main]: in cleanup() ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): after wait ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Destroyed server session: [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): Thread[main,5,main]: in cleanup() ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Destroyed server session: [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): Thread[main,5,main]: in cleanup() ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Destroyed server session: [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): after wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): after wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): after wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): Thread[main,5,main]: in cleanup() ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Destroyed server session: [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): Thread[main,5,main]: in cleanup() ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Destroyed server session: [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): Thread[main,5,main]: in cleanup() ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): after wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): after wait ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Destroyed server session: [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): Thread[main,5,main]: in cleanup() ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Destroyed server session: [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): Thread[main,5,main]: in cleanup() ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Destroyed server session: [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): after wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): after wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): after wait ... [email protected]
    [01/Mar/2004:10:07:55] FINEST ( 657): Thread[main,5,main]: in cleanup() ... [email protected]
    [01/Mar/2004:10:07:55] FINE ( 657): Destroyed server session: [email protected]
    [01/Mar/2004:10:07:55] SEVERE ( 657): MDB00017: [ServerMessageDrivenBean]: Exception in creating message-driven bean container: [javax.jms.JMSException: MQJMS1010: not implemented]
    [01/Mar/2004:10:07:55] FINEST ( 657): run(): after wait ... [email protected]
    [01/Mar/2004:10:07:55] SEVERE ( 657): javax.jms.JMSException
    javax.jms.JMSException: MQJMS1010: not implemented
         at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:418)
         at com.ibm.mq.jms.MQQueueConnection.createConnectionConsumer(MQQueueConnection.java:602)
         at com.sun.enterprise.jms.ConnectionWrapperBase.createConnectionConsumer(ConnectionWrapperBase.java:151)
         at com.sun.ejb.containers.MessageBeanHelperQueueImpl.doSetup(MessageBeanHelperQueueImpl.java:67)
         at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:419)
         at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
         at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
         at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
         at com.iplanet.ias.server.ApplicationLoader.load(ApplicationLoader.java:81)
         at com.iplanet.ias.server.AbstractManager.load(AbstractManager.java:134)
         at com.iplanet.ias.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:168)
         at com.iplanet.ias.server.ApplicationServer.onStartup(ApplicationServer.java:269)
         at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:162)
    [01/Mar/2004:10:07:55] SEVERE ( 657): EJB5090: Exception in creating EJB container [javax.jms.JMSException: MQJMS1010: not implemented]
    [01/Mar/2004:10:07:55] SEVERE ( 657): appId=emi moduleName=emiEjb_jar ejbName=ServerMessageDrivenBean
    [01/Mar/2004:10:07:55] SEVERE ( 657): LDR5004: UnExpected error occured while creating ejb container
    javax.jms.JMSException: MQJMS1010: not implemented
         at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:418)
         at com.ibm.mq.jms.MQQueueConnection.createConnectionConsumer(MQQueueConnection.java:602)
         at com.sun.enterprise.jms.ConnectionWrapperBase.createConnectionConsumer(ConnectionWrapperBase.java:151)
         at com.sun.ejb.containers.MessageBeanHelperQueueImpl.doSetup(MessageBeanHelperQueueImpl.java:67)
         at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:419)
         at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
         at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
         at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
         at com.iplanet.ias.server.ApplicationLoader.load(ApplicationLoader.java:81)
         at com.iplanet.ias.server.AbstractManager.load(AbstractManager.java:134)
         at com.iplanet.ias.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:168)
         at com.iplanet.ias.server.ApplicationServer.onStartup(ApplicationServer.java:269)
         at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:162)
    [01/Mar/2004:10:07:55] WARNING ( 657): CORE5021: Application NOT loaded: [emi]
    [01/Mar/2004:10:07:55] INFO ( 657): WEB0100: Loading web module [mfs:mfs.war] in virtual server [MFPProcessing] at [mfs]
    [01/Mar/2004:10:08:31] INFO ( 657): HTTP3072: HTTP listener http-listener-1 [http://ch042dysz0405:1080] ready to accept requests
    [01/Mar/2004:10:08:31] INFO ( 657): CORE3274: successful server startup
    [01/Mar/2004:10:08:33] INFO ( 657): CORE5053: Application onReady complete.

    Hi,
    You have not created the jms destination queue object
    jms/Warehouse
    Your server logs says it cannot find the destination queue object.It has got nothing to do with jndi name of your bean
    Create jms destination queue object using
    asadmin>create-jms-resource instance <instance_name> resourcetype javax.jms.Queue --property imqDestinationName=<NAme>  jms/Warehouse
    Then use list-jms-resources <instance_name> to
    find if jms/Warehouse destionation queue object has been created.
    Get back in case of any issues

  • Only one Message Driven Bean

    hi
    i have some heavy calculating beans and i want that only one EJB is calculating at one time. can i do this by using Message Driven Beans? is it possible that the server creates only one Message Driven Bean at one time and gets the next one out of the queue when the old one finished calculating?
    thanks, jo

    It is possible to set up that there should be only one mdb in the pool, but it's not quite what mdbs are intended for. Remember that this is an asynchronous message service, and you will not receive a reply after you put a message on the queue.

  • Message-driven bean destination name not found error

    Hi,
    I am getting this error when I attempt to deploy the Warehouse message-driven bean example/tutorial. I followed the steps in the JMS Queue Simple Sample Application included with the server to set up the queue and queue factory, but I don't think the app. is even getting that far. I can not figure out why I'm get this error. I have looked at everything I can think of, but I'm obviously missing something. Here is the error from the server log.
    INFO ( 2252): JMS5015: Install JMS resources ...
    INFO ( 2252): JMS5002: Binding [< JMS Destination: jms/WarehouseQueue, javax.jms.Queue, [ imqDestinationName=WarehouseQueue ] >]
    INFO ( 2252): JMS5002: Binding [< JMS Connection Factory: jms/WarehouseQueueConnectionFactory, javax.jms.QueueConnectionFactory, [ imqBrokerHostName=localhost , imqBrokerHostPort=7676 ] >]
    INFO ( 2252): HTTP3072: HTTP listener http-listener-1 [http://ibankdev2:80] ready to accept requests
    INFO ( 2252): CORE3274: successful server startup
    INFO ( 2252): CORE5053: Application onReady complete.
    INFO ( 2252): MDB00044: Deploying message-driven bean [MDBApp:Warehouse], consuming from [jms/Warehouse]
    SEVERE ( 2252): MDB00015: [MDBApp:Warehouse]: Message-driven bean destination name [jms/Warehouse] not found
    SEVERE ( 2252): javax.naming.NameNotFoundException
    javax.naming.NameNotFoundException: Warehouse not found
    at com.sun.enterprise.naming.TransientContext.doLookup(TransientContext.java:185)
    at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:157)
    at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:161)
    at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:78)
    at org.omg.stub.com.sun.enterprise.naming._SerialContextProviderImpl_Tie._invoke(Unknown Source)
    at com.sun.corba.ee.internal.corba.ServerDelegate.dispatch(ServerDelegate.java:375)
    at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:275)
    at com.sun.corba.ee.internal.iiop.LocalClientRequestImpl.invoke(LocalClientRequestImpl.java:96)
    at com.sun.corba.ee.internal.corba.ClientDelegate.invoke(ClientDelegate.java:237)
    at com.sun.corba.ee.internal.corba.ClientDelegate.invoke(ClientDelegate.java:279)
    at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
    at org.omg.stub.com.sun.enterprise.naming._SerialContextProvider_Stub.lookup(Unknown Source)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:138)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:317)
    at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
    at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
    at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
    at com.iplanet.ias.server.ApplicationLoader.load(ApplicationLoader.java:81)
    at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:134)
    at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:110)
    at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:294)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:424)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:408)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:291)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
    at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
    at sun.rmi.transport.Transport$1.run(Transport.java:148)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    at java.lang.Thread.run(Thread.java:536)
    SEVERE ( 2252): MDB00030: [MDBApp:Warehouse]: Exception in setting up message-driven bean container: [MDBApp:Warehouse: Message-driven bean destination jms/Warehouse not found]
    SEVERE ( 2252): MDB00017: [Warehouse]: Exception in creating message-driven bean container: [javax.jms.JMSException: MDBApp:Warehouse: Message-driven bean destination jms/Warehouse not found]
    SEVERE ( 2252): javax.jms.JMSException
    javax.jms.JMSException: MDBApp:Warehouse: Message-driven bean destination jms/Warehouse not found
    at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:340)
    at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
    at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
    at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
    at com.iplanet.ias.server.ApplicationLoader.load(ApplicationLoader.java:81)
    at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:134)
    at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:110)
    at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:294)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:424)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:408)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:291)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
    at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
    at sun.rmi.transport.Transport$1.run(Transport.java:148)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    at java.lang.Thread.run(Thread.java:536)
    SEVERE ( 2252): EJB5090: Exception in creating EJB container [javax.jms.JMSException: MDBApp:Warehouse: Message-driven bean destination jms/Warehouse not found]
    SEVERE ( 2252): appId=MDBApp moduleName=EJBModule_Warehouse_jar ejbName=Warehouse
    SEVERE ( 2252): LDR5004: UnExpected error occured while creating ejb container
    javax.jms.JMSException: MDBApp:Warehouse: Message-driven bean destination jms/Warehouse not found
    at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:340)
    at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
    at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
    at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
    at com.iplanet.ias.server.ApplicationLoader.load(ApplicationLoader.java:81)
    at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:134)
    at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:110)
    at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:294)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:424)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:408)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:291)
    at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
    at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
    at sun.rmi.transport.Transport$1.run(Transport.java:148)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    at java.lang.Thread.run(Thread.java:536)
    WARNING ( 2252): CORE5021: Application NOT loaded: [MDBApp]
    WARNING ( 2252): ADM5603:Event listener error [Error while deploying application [MDBApp]. Please refer to the server log for more details. ]
    My bean name is Warehouse, jms/Warehouse is the JNDI and is mapped to MDBPack.WarehouseBean.class. MDBPack is in the classpath on the server. I guessed that the physical destination name was WarehouseQueue, but using Warehouse produced the same result. Please let me know if there is anything I could be missing. TIA
    --Michelle                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hi,
    You have not created the jms destination queue object
    jms/Warehouse
    Your server logs says it cannot find the destination queue object.It has got nothing to do with jndi name of your bean
    Create jms destination queue object using
    asadmin>create-jms-resource instance <instance_name> resourcetype javax.jms.Queue --property imqDestinationName=<NAme>  jms/Warehouse
    Then use list-jms-resources <instance_name> to
    find if jms/Warehouse destionation queue object has been created.
    Get back in case of any issues

  • WebLogic hangs around after shutdown process appears to complete - Message Driven Bean related

    On my current project we have some Ant scripts that automatically
    start and stop WebLogic. The stop script equates to (not exactly but
    close enough):
    java weblogic.Admin -url localhost:8001 -password password -username
    username SHUTDOWN
    WebLogic is start and shutdown for each system module. All modules
    use the exact same script for these two actions. Some of the modules
    use Message Driven Beans and consequently, since these use JMS, a
    JMSxxx.dat file is generated in the jms_store directory. As part of
    the cleanup process the jms_store directory and all files in it are to
    be deleted AFTER WebLogic shuts down.
    The shutdown process works fine in all cases where JMS is not used and
    in all cases where JMS IS used but there are NO message driven beans.
    However, when there is a message driven bean the server does not shut
    down in a timely manner, sometimes not at all (no error messages are
    produced), and the JMSxx.dat file
    remains locked. Consequently, all of the tests run via the ant script
    for modules come to a grinding halt (i.e. environment could not be
    cleaned so further tests would be skewed).
    Can anyone shed some light on a definitive order of events during
    WebLogic's shutdown process? What is the best way to test for the
    server being up? I know there is a ping utility for weblogic - should
    this be used or should a connection to a JNDI or JMS listening port do
    the trick? Any other ideas would be welcome.
    Thanks in advance,
    Mark

    On my current project we have some Ant scripts that automatically
    start and stop WebLogic. The stop script equates to (not exactly but
    close enough):
    java weblogic.Admin -url localhost:8001 -password password -username
    username SHUTDOWN
    WebLogic is start and shutdown for each system module. All modules
    use the exact same script for these two actions. Some of the modules
    use Message Driven Beans and consequently, since these use JMS, a
    JMSxxx.dat file is generated in the jms_store directory. As part of
    the cleanup process the jms_store directory and all files in it are to
    be deleted AFTER WebLogic shuts down.
    The shutdown process works fine in all cases where JMS is not used and
    in all cases where JMS IS used but there are NO message driven beans.
    However, when there is a message driven bean the server does not shut
    down in a timely manner, sometimes not at all (no error messages are
    produced), and the JMSxx.dat file
    remains locked. Consequently, all of the tests run via the ant script
    for modules come to a grinding halt (i.e. environment could not be
    cleaned so further tests would be skewed).
    Can anyone shed some light on a definitive order of events during
    WebLogic's shutdown process? What is the best way to test for the
    server being up? I know there is a ping utility for weblogic - should
    this be used or should a connection to a JNDI or JMS listening port do
    the trick? Any other ideas would be welcome.
    Thanks in advance,
    Mark

  • Help : Message Driven bean seeing the same message multiple times.

    ( We are using weblogic 8.1 on Solaris )
    We have a bunch of message driven beans with the transaction type as 'Container' and the acknowledge-mode mode as auto-acknowledge. They are consuming messages from a weblogic Queue ( javax.jms.Queue ). The MBD container is also weblogic 8.1.
    We have 7 instances of the bean consuming messages.
    Most of the messages are picked up and processed only once as expected.
    But randomly we are seeing that sometimes the same message is delivered again ( Message.getJmsRedelivered = true ) eventhough it was once picked up and processed successfully once.
    We are completely lost and our production machine is in big trouble as a result of this.
    ( Is it possible that weblogic uses unreliable UDP for acknowledging messages. If yes where do we change this setting )
    Any help will be greatly appreciated
    Thanks
    --sony
    ================ejb-jar.xml BEGIN
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <message-driven>
    <description>DslUpdtDdpostPrcsrMDB</description>
    <ejb-name>DslUpdtDdpostPrcsrMDB</ejb-name>
    <ejb-class>
    com.bellsouth.snt.idm.ejb.wfac.DslUpdtDdpostPrcsrMDB
    </ejb-class>
    <transaction-type>Container</transaction-type>
    <message-selector>
    <![CDATA[ idm_state = 'dsl_updt_dd_post' ]]>
    </message-selector>
    <acknowledge-mode>auto-acknowledge</acknowledge-mode>
    <message-driven-destination>
    <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
    <env-entry>
              <env-entry-name>MDB_NAME</env-entry-name>
              <env-entry-type>java.lang.String</env-entry-type>
              <env-entry-value>dsl_updt_dd_post</env-entry-value>
    </env-entry>
    <!--security-identity><use-caller-identity/></security-identity-->
    <resource-ref>
    <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
    <res-type>javax.jms.QueueConnectionFactory</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>DslUpdtDdpostPrcsrMDB</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    ================ejb-jar.xml END
    ================weblogic-ejb-jar.xml BEGIN
    <?xml version="1.0" encoding="UTF-8"?>
    <!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'>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>DslUpdtDdpostPrcsrMDB</ejb-name>
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>10</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <destination-jndi-name>
    idm.jms.clip.WfacClipResponseQueue
    </destination-jndi-name>
    <connection-factory-jndi-name>
    idm.jms.IdmXaJmsQueueConnectionFactory
    </connection-factory-jndi-name>
    </message-driven-descriptor>
    <transaction-descriptor>
    <trans-timeout-seconds>
    300
    </trans-timeout-seconds>
    </transaction-descriptor>
    <reference-descriptor>
    <resource-description>
    <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
    <jndi-name>idm.jms.IdmXaJmsQueueConnectionFactory</jndi-name>
    </resource-description>
    </reference-descriptor>
    <jndi-name>jms.DslUpdtDdpostPrcsrMDB</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    ================weblogic-ejb-jar.xml END

    The transaction attribute for the MDB is set to 'Required'. Is it possible
    that your application logic may process the message successfully even in
    case of a transaction roll back? If the transaction rolls back, the message
    will be re-delivered.
    There is some docs on exactly-once processing which may help
    http://e-docs.bea.com/wls/docs81/ejb/message_beans.html#1147208
    --Sathish
    <Sony Antony> wrote in message news:[email protected]
    ( We are using weblogic 8.1 on Solaris )
    We have a bunch of message driven beans with the transaction type as
    'Container' and the acknowledge-mode mode as auto-acknowledge. They are
    consuming messages from a weblogic Queue ( javax.jms.Queue ). The MBD
    container is also weblogic 8.1.
    We have 7 instances of the bean consuming messages.
    Most of the messages are picked up and processed only once as expected.
    But randomly we are seeing that sometimes the same message is delivered
    again ( Message.getJmsRedelivered = true ) eventhough it was once picked
    up and processed successfully once.
    We are completely lost and our production machine is in big trouble as a
    result of this.
    ( Is it possible that weblogic uses unreliable UDP for acknowledging
    messages. If yes where do we change this setting )
    Any help will be greatly appreciated
    Thanks
    --sony
    ================ejb-jar.xml BEGIN
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
    JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <message-driven>
    <description>DslUpdtDdpostPrcsrMDB</description>
    <ejb-name>DslUpdtDdpostPrcsrMDB</ejb-name>
    <ejb-class>
    com.bellsouth.snt.idm.ejb.wfac.DslUpdtDdpostPrcsrMDB
    </ejb-class>
    <transaction-type>Container</transaction-type>
    <message-selector>
    <![CDATA[ idm_state = 'dsl_updt_dd_post' ]]>
    </message-selector>
    <acknowledge-mode>auto-acknowledge</acknowledge-mode>
    <message-driven-destination>
    <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
    <env-entry>
    <env-entry-name>MDB_NAME</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>dsl_updt_dd_post</env-entry-value>
    </env-entry>
    <!--security-identity><use-caller-identity/></security-identity-->
    <resource-ref>
    <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
    <res-type>javax.jms.QueueConnectionFactory</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>DslUpdtDdpostPrcsrMDB</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    ================ejb-jar.xml END
    ================weblogic-ejb-jar.xml BEGIN
    <?xml version="1.0" encoding="UTF-8"?>
    <!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'>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>DslUpdtDdpostPrcsrMDB</ejb-name>
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>10</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <destination-jndi-name>
    idm.jms.clip.WfacClipResponseQueue
    </destination-jndi-name>
    <connection-factory-jndi-name>
    idm.jms.IdmXaJmsQueueConnectionFactory
    </connection-factory-jndi-name>
    </message-driven-descriptor>
    <transaction-descriptor>
    <trans-timeout-seconds>
    300
    </trans-timeout-seconds>
    </transaction-descriptor>
    <reference-descriptor>
    <resource-description>
    <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
    <jndi-name>idm.jms.IdmXaJmsQueueConnectionFactory</jndi-name>
    </resource-description>
    </reference-descriptor>
    <jndi-name>jms.DslUpdtDdpostPrcsrMDB</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    ================weblogic-ejb-jar.xml END

  • Need to Parse XML Message from my Message Driven Bean

    Hi
    I am using Message Driven Beans for listening to a Queue .
    I am getting a Big XML file from my Queue in form of a TextMessage .
    Now my task is to read / parse the XML Message .
    Please tell me what is the appropiate parsing technique i need to use (Should i use SAX or DOM )
    Please share your ideas .
    Thank you .

    Generally you want to use SAX if the file is so big that loading it all in memory (as DOM does) will create memory problems.
    Read about these methods on the wiki page for [JAXP.|http://en.wikipedia.org/wiki/Java_API_for_XML_Processing]

  • String JMS Headers from TextMessage inside Message Driven Bean

    You get TextMessage inside onMessage(..) method of Message Driven Bean.
    When you do toString() on the textMessage instance, at first, you get JMS headers. After that only, you get your actula message that you put in the queue.
    I can always strip out the headers by String parsing. However, is there an elegant way (WebSphere Server Configuration, or MQ configuration, or JMS API) to remove JMS headers from the message so that I only get the actual message and no header?
    Hearder is like:
    JMS Message class: jms_text
    JMSType: null
    JMSDeliveryMode: 1
    JMSExpiration: 0
    JMSPriority: 0
    JMSMessageID: ID:414d5120514d444f43444141202020204377126c20001a01
    JMSTimestamp: 1132259105100
    JMSCorrelationID:null
    JMSDestination: null
    JMSReplyTo: null
    JMSRedelivered: false
    JMS_IBM_PutDate:20051117
    JMSXAppID:
    JMS_IBM_Format:MQSTR
    JMS_IBM_PutApplType:6
    JMS_IBM_MsgType:8
    JMSXUserID:clarkc
    JMS_IBM_PutTime:20250510
    JMSXDeliveryCount:1
    My actual message starts here after all the above headers ........

    You can get the message directly with getText() method. Following is the snippet of code.
    if (aMsg instanceof TextMessage) {
    TextMessage msg = (TextMessage) aMsg;
    String testMessage = msg.getText());
    Kishore.

  • Send message from JSP page to Java message driven bean

    Hi all
    I'm using Jdev903.
    I need to send a message from JSP page (Web Application) to Java Message Driven Bean.
    * I created Message Driven Bean that named: MyMessageDrivenEJBBean
    * I have configed jms.xml:
    <topic-connection-factory name="ChatTopicConnectionFactory" location="jms/theTopicConnectionFactory"/>
    <topic name="ChatTopic" location="jms/theTopic"/>
    * In JSP page, my code is:
    final Context ctx = new InitialContext();
    // 1: Lookup ConnectionFactory via JNDI
    TopicConnectionFactory factory =(TopicConnectionFactory)ctx.lookup("jms/theTopicConnectionFactory");
    But trouble occurs is:
    javax.naming.NameNotFoundException: jms/theTopicConnectionFactory not found
    please help me!
    thank a lot.

    Welcome to the Sun forums.
    1. Please post your code using code tags, this formats it so that it is easier for people to read and understand it. Click on 'CODE' above the text area when posting.
    2. As far as possible, please post an SSCCE
    What have learnt about JSPs and servlets till now? Because reading the values submitted in a form is pretty much the base of all operations. I suggest you Google for [servlet tutorials|http://www.google.com/search?q=servlet+tutorial] and [JSP tutorials|http://www.google.com/search?q=jsp+tutorial] and go through them thoroughly. After you understand what is to be done and what options are available to you, if you still face problems, please feel free to post your queries here. But this isn't exactly a site for tutorials, especially since there are so many good ones already out there, that explain all this stuff in detail. There's no point in re-inventing the wheel.
    Hints: [ServletRequest#getParameter()|http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)] and [RequestDispatcher#forward|http://java.sun.com/javaee/5/docs/api/javax/servlet/RequestDispatcher.html]

  • How to send message from Message Driven Bean  to JMS client?

    In my project I have JMS client, two QueueConnectionFactory and Message Driven Bean. Client send message to MDB through the first QueueConnectionFactory , in one's turn MDB send message to client through the second Queue Connection Factory . I already config my Sun AppServer for sending message in one way, and sending message from MDB to the second QueueConnectionFactory. But on my Client there is an error : �JNDI lookup failed: javax.naming.NameNotFoundException: No object bound to name java:comp/env/jms/MyQueue2� (jms/MyQueue2 � this is the name of my Queue). So it couldn't get this message.
    P.S.
    Thank you for help!!!

    What is the name of the second queue?is the connection factory on the local?Yes the connection factory is on the local. The name of my first queue is jms/MYQueue and the name of another one is jms/MyQueue2.

  • JNDI Naming Problem accessing Session Bean from Message Driven Bean

    Hi,
         I am facing a very strange problem in JNDI look up accessing a Session Bean from a Message Driven Bean. I have a session fa�ade bean(Remote Bean) which is being called from Struts Action class getting the home reference from the ServiceLocator (I have implemented ServiceLocator pattern to obtain JNDI reference for all EJBs). When I am calling the session fa�ade EJB from the Struts Action class everything is working fine.
         But when I am trying to call the same EJB from my Message Driven Bean, I am getting a JNDI exception (NameNotFoundException - No Object bound to name �java:comp/env/ejb/EJBJNDIName�). I am trying to get the remote reference from the same ServiceLocator which is successfully providing me a reference while calling from the struts action class. But the same ServiceLocator is not able to provide me a reference while calling from the Message Driven Bean. If I use the JNDI name directly like �EJBJNDIName� in the lookup it is working fine. The lookup for the name is working fine and I am able to call the Session Fa�ade bean with that reference.
         I am really not sure what exactly the problem is. If I have any problem in the ServiceLocator, it should have given me the same error while calling from Struts Action class. But it is working fine with the full name �java:comp/env/ejb/EJBJNDIName� calling from the struts action class. I am not sure whether Message Driven Bean has something to do with it. Why I am not able to get a reference of the EJB with the full name? Please Help.
    Thanks
    Amit

    Hi Bhagya,
    Thanks for your response. I think from EJB container we can call Local EJBs with the full JNDI name. The session facade bean which is being called is a remote bean. From the session facade bean I am calling a local stateless session bean for database access. I am getting the reference of the local EJB from my session facade bean with full JNDI name "java:comp/env/ejb/EJBJNDIName". It is working fine with out any problem. My servicelocator is able to provide me the reference of the local EJB from the session facade remote bean with Full JNDI name. I am only having this problem calling from the MDB. I am really not sure whether what is causing it?
    Thanks
    Amit

  • Message Driven bean: message always removed from queue

    We use MDB to dequeue messages from database queue (AQ) and want to handle errors: if the transaction rolls back, message should have retry_count updated and after defined retries should move to exception queue.
    The problem is, that with all combinations of transactions settings, the message is removed from queue before onMessage is called. If I use Container managed transactions with Mandatory transaction attribute, call to setRollbackOnly fails with message "java.lang.IllegalStateException: Cannot call setRollbackOnly() current thread is NOT associated with a transaction."
    How can I write a MDB, which can commit or rollback message depending on whether exception is or is not thrown? I use JDev 10.1.3.
    Thanks,
    Viliam
    Here are my files:
    ejb-jar.xml:
    <?xml version = '1.0' encoding = 'windows-1250'?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
      <enterprise-beans>
        <message-driven>
          <description>Message Driven Bean</description>
          <display-name>SendSMSBean</display-name>
          <ejb-name>SendSMSBean</ejb-name>
          <ejb-class>sk.transacty.cc.ejb.SendSMSBeanBean</ejb-class>
          <transaction-type>Container</transaction-type>
          <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
          <message-driven-destination>
            <destination-type>javax.jms.Queue</destination-type>
          </message-driven-destination>
          <resource-ref>
            <res-ref-name>jdbc/CCDataSource</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
          </resource-ref>
        </message-driven>
      </enterprise-beans>
      <assembly-descriptor>
        <container-transaction>
          <method>
            <ejb-name>SendSMSBean</ejb-name>
            <method-name>*</method-name>
          </method>
          <trans-attribute>Mandatory</trans-attribute>
        </container-transaction>
      </assembly-descriptor>
    </ejb-jar>orion-ejb-jar.xml:
    <?xml version = '1.0' encoding = 'windows-1250'?>
    <!DOCTYPE orion-ejb-jar PUBLIC "-//Evermind//DTD Enterprise JavaBeans 1.1 runtime//EN" "http://xmlns.oracle.com/ias/dtds/orion-ejb-jar.dtd">
    <orion-ejb-jar>
      <enterprise-beans>
        <message-driven-deployment max-instances="1" name="SendSMSBean" connection-factory-location="java:comp/resource/jmsAQ/QueueConnectionFactories/aqQue" destination-location="java:comp/resource/jmsAQ/Queues/msg_queue" listener-threads="1" min-instances="0"/>
      </enterprise-beans>
      <assembly-descriptor>
        <default-method-access>
          <security-role-mapping impliesAll="true" name="<default-ejb-caller-role>"/>
        </default-method-access>
      </assembly-descriptor>
    </orion-ejb-jar>

    As far as I know XMLType JMS messages are not supported when using OJMS. They might be for OC4J 10.1.3, but I thought it's an AQ limitation rather than an OC4J one.. To be sure you might just log a TAR on Metalink.
    hth,
    Bastiaan

  • Best way to call web service from Message Driven Bean

    I'm q'ing msgs up and would like to use a message driven bean to forward them to
    an external web service. Weblogic workshop does not seem to support web service
    controls in an EJB project. Any suggestions?
    Thanks,
    Paul

    Paul,
    A non-trivial alternative, since you have the WSDL, would be to forget about trying
    to use generated client code and just use JAX-RPC dynamic invocation instead.
    That's how I call external web services from within an EJB in situations in which
    generated client code cannot be incorporated prior to deployment. Minimally all
    that is required is the WSDL and the service name, port name, and operation name,
    although if non-builtin parameter types are used then you will have to manipulate
    the service's type mapping registry.
    Mark
    "Paul" <[email protected]> wrote:
    >
    I've taken our wsdl and generated a web service in Workshop 8.1 using
    XMLBeans.
    This produces a web page that contains a link"Java Proxy" for downloading
    generated
    client code. I assume this is the same as clientgen. It's interesting
    that
    it does not
    use XMLBeans like the web service that generated it. It uses a different
    serialization
    method.
    I've used this generated code to call the web service. Although the
    client seems
    to run
    successfully to completion, I get the following error in the weblogic
    server console:
    <Sep 29, 2003 7:46:24 AM EDT> <Error> <WLW> <000000> <Failure=com.bea.wlw.runtim
    e.core.request.ResponseValidationException: java.lang.RuntimeException:
    Protocol
    'http-soap' not available on this operation. [ServiceException]>
    <Sep 29, 2003 7:46:24 AM EDT> <Warning> <WLW> <000000> <Returning HTTP
    500 due
    t
    o SOAP fault occurring on DispFile=pjm.srcm.webservices.face.Receptor>
    Frustrating...
    Bruce Stephens <[email protected]> wrote:
    Hi Paul,
    Could you not first use clientgen on the external webservice, then take
    the stubs it created, then add these to your code along with the
    onMessage(Message msg) and roll it into the MBean?
    We don't have exactly that example, but you might take a look at this
    one to get some ideas:
    http://webservice.bea.com/message.zip
    Hope this helps,
    Bruce
    Paul wrote:
    Bruce,
    Don't think this will work for us. We are receiving data internallythrough
    a JMS queue. We need to pull it off the queue (MDB), massage it alittle and
    send it to an external web service. The link you sent me was howto implement
    a web service with JMS.
    I started out by trying to use the Web Service and JMS controls butit doesn't
    seem like I can use a JMS control because that requires a conversationID,
    which we don't have because nothing is comming in through a web services.
    Paul
    Bruce Stephens <[email protected]> wrote:
    Hi Paul,
    There is a chapter in the docs on this. See if this helps,
    http://edocs.bea.com/wls/docs81/webserv/jms.html#1067060
    Thanks,
    Bruce
    Paul wrote:
    I'm q'ing msgs up and would like to use a message driven bean to
    forward
    them to
    an external web service. Weblogic workshop does not seem to supportweb service
    controls in an EJB project. Any suggestions?
    Thanks,
    Paul

  • Message Driven Bean and transaction handling

    We are using container managed transactions with MDB's running on OC4J version 10.1.2. We have two database serveres, both running Oracle 10g.
    The MDB consume messages from the AQ-database through JMS (connected to a JDBC datasource registered as "jdbc/OracleAQDS").
    The MDB onMessage() code update the second database, using a JDBC datasource registered as "jdbc/OracleDBDS".
    We need atomic behaviour - if the MDB enforce a roll-back we want the updates aginst the second database to be rolled-back as well.
    (1) Should we use XA-datasources since AQ and DB runs on two different servers or do the OC4J container "magically" provide two-phase-commit for us?
    (2) If the MDB does a roll-back we would like to add an error record to a database table. Can we configure a third datasource and prevent if from beeing part of the container managed MDB roll-back?
    (3) When the MDB force a roll-back, is there some way for us to override the retry-delay in our Java code? If we catch certain errors during processing in onMessage we know that it is not necessary to retry for at least one hour (while less severe errors should be retried in just seconds).

    {color:#008000}Hi Friends,
    Thought of updating the answers for my questions in case somebody else would find it helpful.
    {color}
    {color:#999999}{color:#00ccff}I'm trying to make message driven bean and use the OnListener method.
    But since I'm doing this for the first time I have very limited knowledge.
    The following are my doubts :
    1. Should I have a main function while using the MDB?{color}
    {color:#008000} There is no need for any main function.{color}
    {color:#00ccff}2. Is it mandatory to have JNDI setup done?
    {color} {color}{color:#008000} There is no need for any JNDI setup done. But you need to configure the details on the
    Websphere by creating valid entries inside Resources namely -
    Queue Connection Factory, Queues and Listener Ports under the server.
    Thanks,
    Arun Prithviraj{color}

Maybe you are looking for

  • Reporting from two box

    I have required 4 fields in the cube  which is pulled for the SCem Box and 3 required which is pulled from R/3 box . Is that possible to report  4 fields from SCEM  and 3 fields from R/3. I am thinking build one cube for SCEm data and other cube to p

  • Genius Bar Feedback on Battery Issues

    Ok..so I know there are hundreds of posts regarding various battery issues. I thought it might be helpful to post feedback on my genius bar visit today regarding my battery. The issue with my battery is that the meter seems to be stuck at about 80% f

  • Purchase Order Output Failing

    When a user creates a purchase order, the output (usually set to print and fax) is failing. On the Message window, the output method has a status of "incorrectly processed" and upon attempting to display a print preview of the document an error messa

  • Time detection is broken in Mac OS 10.9.1.

    Time detection is broken in Mac OS 10.9.1. I'm living in Minsk (GMT +3). Time zone detects correctly, updating time from servers is turned on. But time is always leads +3 hours. How to fix it? Maybe time settings conflics with Windows 7?

  • MS fonts, hickups with Greek

    Hello. I've being looking in to fonts on 10.7, trying to find my perfect font, when I hit a really odd bug! So the preview of the story is that I need a font what can display Latin, Greek and Cyrillic letter. And the problematic one has always been G