JMS Server without J2EE server?

Hi,
We're working on a relatively small application where a small amount of messaging would be beneficial. What I ideally need is a free reference implementation of the JMS spec which does not require a full J2EE server with ORB, etc all being started up. I was looking at what comes with the j2sdkee 1.3.1 but I can not see how to configure JNDI to use anything other than the naming service provided by the ORB.
If anybody can recommend an implementation available that might be of use that would be great.
Thanks,
Aoife

HI rajdeepdua,
ur comments:
>>It seems that all the vendors are trying to promote their products
well, i am NOT a SonicSoftware Marketing person.
>>If you need a free jms server the i think you should go for either openjms or joram
But i did lot of testing with Different JMS Server And i am convinces that Sonic MQ performs the best. Their DRA (Dynamic Routing architecture) is fantastic and performs absouletly bugless unlike its competitors.

Similar Messages

  • JMS-MQSeries without J2EE

    Hi,
    I tried to compile the SimpleTopicPublisher and SimpleTopicSubscriber from the following link. I used the javax.jms.jar and the jms.jar from sun.
    http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/client.html#1027256
    The code got compiled.
    I had a queue in MQSeries, its sample queue called postcard.
    When I tried running SimplePublisherTopic, the following exception was thrown:
    <code>
    D:\>java SimpleTopicPublisher postcard 1
    Topic name is postcard
    JNDI API lookup failed: javax.naming.NoInitialContextException: Need to specify
    class name in environment or system property, or as an applet parameter, or in a
    n application resource file: java.naming.factory.initial
    javax.naming.NoInitialContextException: Need to specify class name in environmen
    t or system property, or as an applet parameter, or in an application resource f
    ile: java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
    43)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.jav
    a:283)
    at javax.naming.InitialContext.lookup(InitialContext.java:350)
    at SimpleTopicPublisher.main(SimpleTopicPublisher.java:60)
    </code>
    The program is J2EE server independent. The MQSeries for Win 2000 is used for JMS services.
    Please help me in understanding the following :
    1) How to get the JNDI server running and registering our topic there?
    2) There was no reference of 'Topic' in MQSeries. There are only 'Queue'. If this is the case, how to create topics in MQSeries.
    3) Who are providers? There are JNDI provider and IBMMQSeries provider. What is to be used? Can they both be used?
    4) MQSeries has a Java API. Is it a replacement/substitute for Sun JMS API? Which should we use to write a generic JMS code?
    Thanks in advance,
    Rajesh

    I could solve some of the exceptions based on Steve's suggestions. I am giving below on how I solved.
    "JNDI API lookup failed: javax.naming.NoInitialContextException: "
    The SimpleTopicPublisher has set env property for InitialContext and expects our System's properties to specify the provider URL. I have added the property this way in code:
              try {
                   // Identify service provider to use
                   Hashtable env = new Hashtable(11);
                   env.put(Context.INITIAL_CONTEXT_FACTORY,
                                 "com.sun.jndi.fscontext.RefFSContextFactory");
                   env.put(Context.PROVIDER_URL,
                                 "file:/C:/Program Files/IBM/MQSeries/Java/lib");
                   jndiContext = new InitialContext(env);
              } catch (NamingException e) {
                        System.out.println("Could not create JNDI API " +
                             "context: " + e.toString());
                        e.printStackTrace();
                        System.exit(1);
              }1) How to get the JNDI server running and registering our topic there?
    Unlike RMI Naming server/registry, JNDI is a standard API for naming services. Hence it is not designed as a server listening on a port. I understand the File System based name space. The bindings of key-value is maintained in .bindings file in the place you specify as a PROVIDER_URL. Both publisher and subscriber has to refer this name space. This is how you start registering and retrieving MQ objects.
    3) Who are providers? There are JNDI provider and IBMMQSeries provider. What is to be used? Can they both be used?
    Providers are vendors who have implemented javax.naming.Spi package. The default provider you get from Sun is one reference implementation. It is "com.sun.jndi.fscontext.RefFSContextFactory". There is no IBM MQSeries provider. The same "com.sun.jndi.fscontext.RefFSContextFactory" is only supplied with MQSeries also.
    I don't know the answers for questions 2 and 4. I shall post it as soon as I understand.
    Those of you who read this, if you find deviation from righteouness, please correct.
    Thanks/Regards,
    Rajesh

  • JMS Migration without admin server

    Does anyone know if there is a way to migrate the JMS service if the admin
              server is down?
              Cheers,
              SB
              

    I don't think you can migrate a JMS server when the admin server is down.
              You have to use one of the administration tools, such as the administration
              console, command line interface, or JMX. For either of these, you need to
              have the admin server running (see the System Administration Tools section
              at http://edocs.bea.com/wls/docs70/adminguide/overview.html#1040321).
              Dongbo
              Stanley Beamish wrote:
              > Does anyone know if there is a way to migrate the JMS service if the admin
              > server is down?
              >
              > Cheers,
              > SB
              

  • JMS Adapter to remote JMS Server in ESB??

    Has anyone successfully setup a JMS adapter in the ESB to talk to a JMS server on a remote host?
    We are using OC4J JMS and so I followed the instructions in section 5.2.1.7 in the Adapters guide on this. I updated the oc4j-ra.xml file. The guide didn't state which version of oc4j-ra.xml to update, but I've been told to use the one in:
    $ORACLE_HOME/j2ee/<oc4j>/application-deployments/default/
    So, I added the XML block as specified in this section and made the JMS Connection JNDI name match that of my JMS Adapter. However, the Adapters guide then states the following:
    In addition, you must have the file META-INF/application-client.xml in the
    classpath. The contents of the file can be the following:
    <application-client/>
    To put this file in the classpath, put the specified contents into the file at Oracle_
    Home\bpel\system\classes\META-INF\application-client.xml and
    restart Oracle BPEL Server.
    This is a problem for me because I have an advanced installation with ESB and OWSM on top of OC4J, but I do not have BPEL installed in this location. As such, the file $ORACLE_HOME/bpel/system/classes/META-INF/application-client.xml does not exist. I did a search and did find an application-client.xml at the following location:
    $ORACLE_HOME/j2ee/oc4j_esbdt/connectors/JmsAdapter/JmsAdapter/META-INF
    But at this point, I don't know what to do with it to ensure it is in the classpath. The Adapters guilde says to cycle the BPEL Server, so I cycled the ESB for good measure, then deployed my project, but no luck! It is still listening to the local jms server and not the remote one.
    Has anyone successfully set this up? What am I missing or doing wrong?

    The above classpath requirement should only ensure that BPEL module can access the JMS adapter. Otherwise it should be OK.
    I would reccommend to try to establish the JMS connection and see if some parts of the Oracle AS will throw any exception or something. It might start working as well.
    As I understand, you are trying to access OC4J JMS from another server. As JMS is purely TCP level protocol there should be no problem accessing it from anywhere. Only the addresses and ports must be reviewed and ensure that they point to correct place, that usernames and passwords are correct and that there is a JNDI connectivity available as you use JNDI to get the connection factories.
    Rein

  • How to configure JMS-Server to use username and password

    Hi
    Maybe this is a real stupid question, but please help me, I'm not very experienced using JMS:
    I'm using JMS (provided by OC4J / Application Server 10.1.3). I configured a ConnectionFactory (without username and password) and a Queue and there is also a application, which successfully opens the JMS-Connections.
    This works well as long as I do not provide a username und password in the ConnectionFactory (EnterpriseManager: OC4J/Admin/Services/JMS-provider...). If I do this, my application terminates with the following stacktrace:
    javax.jms.JMSSecurityException: JMSServer[aplora2:12602]: failed to authenticate "myuser/mypassword", no such user.
         at com.evermind.server.jms.JMSUtils.make(JMSUtils.java:1034)
         at com.evermind.server.jms.JMSUtils.toJMSSecurityException(JMSUtils.java:1090)
         at com.evermind.server.jms.JMSServer.getJMSServer(JMSServer.java:1237)
         at com.evermind.server.jms.JMSServer.getJMSServer(JMSServer.java:1213)
         at com.evermind.server.jms.InContainerProxy.getJMSServer(InContainerProxy.java:93)
         at com.evermind.server.jms.EvermindConnection.<init>(EvermindConnection.java:103)
         at com.evermind.server.jms.EvermindQueueConnection.<init>(EvermindQueueConnection.java:62)
         at com.evermind.server.jms.EvermindQueueConnectionFactory.unprivileged_createQueueConnection(EvermindQueueConnectionFactory.java:98)
         at com.evermind.server.jms.EvermindQueueConnectionFactory.access$000(EvermindQueueConnectionFactory.java:42)
         at com.evermind.server.jms.EvermindQueueConnectionFactory$1.execute(EvermindQueueConnectionFactory.java:78)
         at com.evermind.server.jms.InContainerProxy.doSecureOp(InContainerProxy.java:157)
         at com.evermind.server.jms.EvermindQueueConnectionFactory.createQueueConnection(EvermindQueueConnectionFactory.java:75)
         at com.evermind.server.jms.EvermindQueueConnectionFactory.createQueueConnection(EvermindQueueConnectionFactory.java:66)
         at sam.model.messages.MessageManager.<init>(MessageManager.java:74)
    where "myuser" and "mypassword" are the username and password I entered in the ConnectionFactory. (My Application certainly uses the same username and password)
    I expected, that by entering username and password here I would configure my Queue to be protected by them. But obviously there are some very basic things I didn't understand. Can anyone give me a hint, how I can protect the (OC4J-) JMS-Server or the Queue by username and password?
    Thanks for your help
    Frank Brandstetter

    Hey Frank -
    Assuming you've set up users in the "Security Manager" for your application, you can specify what JNDI resources they can "read" (and thus also connect to) via the orion-application.xml file. Look at the following snippet from the orion-application.xml file:
         <namespace-access>
    <read-access>
    <namespace-resource root="jms/firstQueue">
    <security-role-mapping impliesAll="false" name="jmsSecurity">
    <user name="scooter"/>
    </security-role-mapping>
    </namespace-resource>
    </read-access>
    <read-access>
    <namespace-resource root="delme">
    <security-role-mapping impliesAll="false" name="jmsSecurity">
    <group name="messagingUsers"/>
    </security-role-mapping>
    </namespace-resource>
    </read-access>
    </namespace-access>
    This would say that only the user "scooter" that you've set up would have access to the Queue whose JNDI name begins with jms/firstQueue. Anyone you've set up and added to a messagingUsers group would have access to any Queues whose JNDI name begins with "delme". (I'm honestly not sure what exactly this line does: <security-role-mapping impliesAll="false" name="jmsSecurity">)
    This is the only way I've found to limit access to a particular Queue.
    HTH.
    Scott

  • Error starting JMS-Server

    I get an exception in starting OC4J (oc4j_extended_1013_dp4.zip file, version 10.1.3)
    java -jar oc4j.jar
    (SEVERE) Failed to set the internal configuration of the OC4J JMS Server with:
    XMLJMSServerConfig[file:/C:/oc4j_1013/j2ee/home/config/jms.xml]
    Error starting JMS-Server...
    On my computer I succeeded to start the same OC4J ok, but on other 2 computers I get the same exception.
    What can be the problem?
    Thanks.

    The OC4J instance that is having the problem may have .lock file issues. Some quotes from the JMS chapter of the services guide:
    If OC4J terminates normally, then the lock files are cleaned up automatically. However, if OC4J terminates abnormally, for example, a kill -9 command, then the lock files remain in the file system. OC4J can usually recognize leftover lock files. If not, you must manually remove lock files before restarting OC4J after abnormal termination.
    JMS persistence lock files are tagged with (contain) server and persistence directory location info. If the lock file exists when the JMS server starts, and the lock file was created by the same server (having the same ip address) and using the same persistence directory location, then the JMS server will assume control of the lock file and start up successfully.
    If, for some reason, the jms.state file itself is corrupted, then the only recourse is to delete it, with the attendant loss of all pending transactions - that is, transactions that have been committed, but the commits not yet performed by all individual destination objects participating in the transactions.
    Note that the use of an IP address can cause issues if you have abnormal terminations and are using DHCP (so next time you start OC4J you also have a new IP address). There was also an issue in the dev preview versions if you are running on MS-Windows where the .lock files would not be automatically deleted on normal shut down - even if you have since moved to the release version, the old .lock files may still be there.

  • Foreign JMS server connection issue.

    Hi All,
    We are migrating a JMS application from websphere 6.1 to weblogic 10.3. The message queue resides in a TIBCO EMS server.
    We are trying to configure the foreign JMS server through JMS Module in the admin console. We are getting the following error will deploying the application.
    +<May 4, 2009 12:32:52 AM PDT> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: TxnMessageSubscriber is unable to connect to the JMS destination: weblogic.bbmdb-txn.jms/system+
    module-0-jms.xml. The Error was:
    Can not get distribute destination information. The destination JNDI name is weblogic.bbmdb-txn.jms/systemmodule-0-jms.xml, the provider URL is null>
    we have provided the connection URL in "JNDI Connection URL" column in the foreign server setup page.
    Is there any other thing that need to be configured?

    I m facing the same problem, we are using Weblogic Server 10.3.
    We have defined a cluster on one Weblogic server and have created one managed server in the cluster machine and the other managed server in another machine.
    We are using Foreign JMS and I m getting the error as follow:
    ####<Jun 19, 2009 3:30:53 PM IST> <Warning> <EJB> <iflexpkw513> <Managed1> <[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1245405653881> <BEA-010061> <The Message-Driven EJB: TestJMSALSB is unable to connect to the JMS destination: fcssi/FCSSI. The Error was:
    Can not get distribute destination information. The destination JNDI name is fcssi/FCSSI, the provider URL is null>
    Not able to understand what is the problem here...
    ejb-jar.xml :
    <?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 id="ejb-jar_ID">
    <enterprise-beans>
    <message-driven>
    <ejb-name>TestJMSALSB</ejb-name>
    <ejb-class>samplemdb.TestJMSALSB</ejb-class>
    <transaction-type>Container</transaction-type>
    <message-driven-destination id="MessageDrivenDestination_1169302343246">
         <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
    </message-driven>
    </enterprise-beans>
    </ejb-jar>
    weblogic-ejb-jar.xml :
    <?xml version="1.0" encoding="UTF-8"?>
    <weblogic-ejb-jar
    xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd">
    <weblogic-enterprise-bean>
    <ejb-name>TestJMSALSB</ejb-name>
    <message-driven-descriptor>
    <destination-jndi-name>fcssi/FCSSI</destination-jndi-name>
    <connection-factory-jndi-name>iflex/fcssiQCF</connection-factory-jndi-name>
    </message-driven-descriptor>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    Can anyone provide some help on this.....

  • Messaging Bridge/Foreign JMS Server

    Can someone clarify what is the difference in using messaging bridge or Foreign JMS Server in listening to a topic from other weblogic server of same version.
    Edited by: user11359157 on 6 Jul, 2009 3:17 PM

    I always thought one has to use remote classes from the foreign JMS server in local the classpath to send or receive messages stored at
    the foreign JMS server / the remote side.
    <Jayesh> that is true of the remote side of the JMS is non-weblogic. </Jayesh>
    Also in the WLS bridge this can be specified. IMHO the bridge has the advantage that I can use the wls classe and the bridge knows
    the classpath and bridges to the foreign jms server, so the application developer doesn't have to use foreign classes, eg. tibco or mq.
    <Jayesh> When you have remote JMS is WebLogic it is obvious considering that both remote and local jms uses same weblogic classes. </Jayesh>
    Now, where does this happen for the foreign jms server (which is kind of alternative to wls bridge, without store and forward)?
    All I can see is a local JNDI lookup being translated to a remote one.
    Is really the local JMS implementation used to talk to the remote JMS server?
    When a JNDI lookup for a queue happens will then be WLS queue implementation returned?
    <Jayesh> No there is not local JMS store is used. Foreign JMS server just provides administrative convenience by moving remote JMS destination JNDI definitions in local JNDI definition. It allows to use this local definition by all EJBs, servlets and messaging bridges. If the remote definitions changes you can change those definition in admin console and does not need change in deployment descriptors of the EJBs and servlets to prevent redeployment. Again this is no administrative convenience and during run time it will behave exactly same as you are sending or receiving message directly from remote JMS destination.
    </Jayesh>
    Hope this clears confusion.
    jayesh@yagna

  • 1 JMS Server [3 Queues] OR 3 JMS Servers [1 Q each]

              Hi
              I am still debating myself which configuration is better purely from performance
              perspective whether to have multiple queues hosted my the same JMS server or give
              one JMS server per Queue. Just wondering if someone can throw some light on this
              as I dont see this thing addressed in the JMS performance guide - is it because
              it dosent make any difference?
              I am trying to figure out if in the first setup since all queues will use the
              same store they will end up using a where clause to get data from the Queue and
              in the 2nd case it will be like select * without a where clause? In that case
              the 2nd config will give better performance. I am using file store.
              Its likely that in my configuration one of the Queues is going to be pounded big
              time whereas the other 2 queues message volume will be significantly low.
              Any thoughts/pointers is appreciated.
              thanks
              Anamitra
              

    Internally, the JDBC store does simple
              inserts/deletes/single-record-selects -
              it has notion of destinations.
              I'm fairly sure that the JMS Performance Guide does cover this topic,
              but I don't have time to comb through it. Anyhow, with DB stores
              I think it is likely you will get better performace by using
              multiple stores - provided the introduction of multiple
              stores doesn't start forcing too many transactions to become
              two-phase that were one-phase before. Each store
              counts as an XA resource, so two stores in the same
              transaction forces a 2PC transaction.
              (With file stores one might get worse performance.)
              Tom
              Anamitra wrote:
              > Hi
              > I am still debating myself which configuration is better purely from performance
              > perspective whether to have multiple queues hosted my the same JMS server or give
              > one JMS server per Queue. Just wondering if someone can throw some light on this
              > as I dont see this thing addressed in the JMS performance guide - is it because
              > it dosent make any difference?
              >
              > I am trying to figure out if in the first setup since all queues will use the
              > same store they will end up using a where clause to get data from the Queue and
              > in the 2nd case it will be like select * without a where clause? In that case
              > the 2nd config will give better performance. I am using file store.
              SQL has nothing to do with file stores, so I don't understand
              the question. Anyhow, I happen to
              know that no JDBC store SQL references queues - messages
              are handled individually regardless of queue
              or topic.
              >
              > Its likely that in my configuration one of the Queues is going to be pounded big
              > time whereas the other 2 queues message volume will be significantly low.
              I think there is little point in seperating into seperate stores unless
              all stores would be very active.
              Anyhow, this is all simple enough to test on your own as it
              only involves configuration changes. I highly
              recommend trying it out.
              >
              > Any thoughts/pointers is appreciated.
              > thanks
              > Anamitra
              

  • JMSHelper throws 'JMS server is not targetted' creating distributed queue

    I am trying to use the 8.1 weblogic.jms.extensions.JMSHelper to create a distributed queue. The target JMS servers are all migratable servers. When calling method createDistributedQueueAsync() I get a JMSException thrown compaining that the [first] JMS server is not targetted. Looking at the code provided in [http://forums.bea.com/bea/thread.jspa?messageID=200023386] which is based on the JMSHelper class source, the exception may be thrown because the target MBean is of class MigratableTargetMBean, whereas the JMSHelper is expecting class TargetMBean. Yet, the 9.0 documentation (which at least documents it) suggests that MigratableTargetMBean is derived from TargetMBean
              Does anyone have experience of this issue or its resolution, short of crafting the code by hand as per the above-referenced reply?

    Hi,
    Just to remember the configuration: 2 managed servers configured as cluster that should be deployed on 2 different machine.
    Following summary of the tests:
         - node manager + admin server + 1 managed server running on the first machine --> server failed to init with error "Server is not in the majority cluster partition"
         - node manager + admin server + 2 managed servers running on the one machine --> servers are running without errors
         - node manager + admin server + 1 managed server running on the first  machine / node manager runs on the second machine --> server on the first machine runs without errors without the famous error ' Server is not in the majority cluster partition'.
    Bottom line, seems that if the node manager is not running on the remote machine, the cluster is not in a stable state and so the single managed server failed to initialize.
    Is it according the documentation / expectations ?
    Thanks,
    Yaakov

  • JMS Server Target & Deploy error

              Hi All,
              I am getting the error while creating the JMS Server.
              I have created the JMS Server and on Target and Deploy tab,when I select the server
              name as target and hit the Apply button, I get the following error
              An unexpected error occurred while setting Target to mydomain:Name=myserver(migratable),Type=MigratableTarget.
              what could be the reason?
              Thanks
              WD
              

    It still seems like it is your app that is throwing the exception.
              If you post the full log message, not just the excerpted text,
              the problem might be self evident.
              WD wrote:
              > The applications code is fine. With the same ear file,I am getting this error
              > intermittently. My suspicions is that sometimes when I redeploy the same application(without
              > anything changed), wls does not deploy it properly. Because when I was getting
              > this error,I just undeployed and deployed the app and it worked.
              > Have you seen this kind of behavior with wls?
              >
              > Thanks
              > WD
              >
              >
              >
              > Tom Barnes <[email protected].bea.com>
              > wrote:
              >
              >>It is unusual not to have a full stack trace - particularly
              >>for application generated exceptions. My first
              >>suspicions is that your app is creating a producer
              >>without specifying a destination (a non-pinned producer),
              >>and then attempting to send a message without specifying
              >>a destination.
              >>
              >>WD wrote:
              >>
              >>>The only log message I have is the one I posted earlier. It is from
              >>
              >>the log file.
              >>
              >>>
              >>>
              >>>Tom Barnes <[email protected].bea.com>
              >>>wrote:
              >>>
              >>>
              >>>>OK. For this new exception, do you have the full
              >>>>log message/stack trace?
              >>>>
              >>>>WD wrote:
              >>>>
              >>>>
              >>>>
              >>>>>I just left the app alone for the weekend and when I tried to do it
              >>>>
              >>>>again today,it
              >>>>
              >>>>
              >>>>>just worked. I do not know what was wrong with it on friday.
              >>>>>
              >>>>>But now I am running into another weird error. I have deployed my
              >>
              >>application
              >>
              >>>>>and it works fine and MyMDB also works fine. But sometimes I am getting
              >>>>
              >>>>the following
              >>>>
              >>>>
              >>>>>error. It is happening very intermittently.
              >>>>>
              >>>>>Exception in MyMDB.onMessage()Must provide destination
              >>>>>
              >>>>>Thanks
              >>>>>WD
              >>>>>
              >>>>>
              >>>>>Tom Barnes <[email protected].bea.com>
              >>>>>wrote:
              >>>>>
              >>>>>
              >>>>>
              >>>>>>Do you have the full log message/stack trace?
              >>>>>>
              >>>>>>WD wrote:
              >>>>>>
              >>>>>>
              >>>>>>
              >>>>>>
              >>>>>>>Hi All,
              >>>>>>>I am getting the error while creating the JMS Server.
              >>>>>>>I have created the JMS Server and on Target and Deploy tab,when
              >>
              >>I
              >>
              >>>>select
              >>>>
              >>>>
              >>>>>>the server
              >>>>>>
              >>>>>>
              >>>>>>
              >>>>>>>name as target and hit the Apply button, I get the following error
              >>>>>>>
              >>>>>>>An unexpected error occurred while setting Target to mydomain:Name=myserver(migratable),Type=MigratableTarget.
              >>>>>>>
              >>>>>>>what could be the reason?
              >>>>>>>
              >>>>>>>Thanks
              >>>>>>>WD
              >>>>>>>
              >>>>>>>
              >>>>>>
              >
              

  • Activate change list received Communication with JMS server failed errors

    Hello XI Gurus,
    The first time when we tried to activate the change list in Integration Repository (Design) or Integration Directory(Configuration) we received an error message below.
    "Communication with JMS server failed
    Repeat the last action. If the problem continues to occur after multiple attempts, contact your system administrator to check the availability of the JMS provider service."----
    However, the second time went through, but the changes will not effected unless we do a refresh CACHE in order to see the changes.
    This happened on any of the interfaces in Repository and Directory.
    NW 7.0 SPS9
    Greatly appreciate for any helps!
    Dave

    Hi David,
    Logon your SAP J2EE Visual Administrator,
    go to 'Serverxxx"->Services
    ->JMS Connector
    and
    ->JMS Provider
    Ensure that everything is running smoothly, no red cross. If so, restart the service
    If you need to redeploy the JMS, go to 'Deploy', select 'Container' and navigate to the JMS connector to do the redeployment.
    Cheers,
    Aaron

  • JMS Server on a cluster stores all  msgs posted to Distributed Queue on 1 server failure

              Hi
              I have a Cluster setup with 2 managed servers srvr1 & srvr2 each running its own
              JMS server.
              Product version in use is Weblogic SP2.
              Configured a Distributed Queue and deployed it on both the JMS servers.
              Set the load-balancing to round-Robin and Server-Affinity to False on the connection
              factory.
              The producer is an external client which posts 100 messages to the Distributed
              queue.
              Consumers are MDBs pinned to the respective physical queues on the respective
              JMS servers.
              Each server has its own store.
              Once 100 messages are posted to the Distributed Queue. The messages are distributed
              to
              the 2 Physical Destinations equally i.e 50-50 each.
              While the MDBs are processing the msgs, server srvr1 is brought down at a point
              when it has consumed only 10 of its 50 msgs.
              When the srvr1 is brought up again, i am finding that the store for that JMS server
              contains the 40 unprocessed msgs in its physical queue + the msgs on the other
              queue that were unprocessed at the time this server crashed.
              When srvr1 went down, srvr2 was running and it went on to process all its 50 msgs
              completly. Why would those processed msgs show up again when srvr1 is brought
              up ?
              Please provide some input !!
              Ravi.
              

              The log message is from the distributed destination
              "forwarders". In distributed queues, these forwarders
              automatically move messages from queues without
              consumers to queues that have them (queue
              forwarders are disabled by default). In distributed topics,
              the forwarders serve
              to replicate a published message from the local
              topic member to each of the remote topic members.
              "Raviprasad Athivilli" <[email protected]> wrote:
              >
              >Tom
              >
              >I think you are right. When the server1 is brought up again, its picking
              >up all
              >the messages
              >that were written to the store.
              >
              >But as it starts processing them, i get this exception on the server2
              >that has
              >been running from the beginning.
              >
              ><Oct 10, 2003 6:20:19 PM EDT> <Error> <JMS> <040366> <JMS Distributed
              >Destination
              >member "MyQueue@JMSServer-02" in "MyQueue"
              >unable to accept connection from remote member "MyQueue@JMSServer-01"
              >due to exception
              >weblogic.jms.common.JMSException: can't find
              >queue target jndi table for MyQueue@JMSServer-01 != MyQueue
              >weblogic.jms.common.JMSException: can't find queue target jndi table
              >for MyQueue@JMSServer-01
              >!= MyQueue
              > at weblogic.jms.backend.BEDestination.setupSystemSubscription(BEDestination.java:3466)
              > at weblogic.jms.backend.BEManager.sessionAndTopicSubscriberCreate(BEManager.java:234)
              > at weblogic.jms.backend.BEManager.invoke(BEManager.java:384)
              > at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:602)
              > at weblogic.jms.dispatcher.DispatcherImpl.dispatchAsync(DispatcherImpl.java:152)
              > at weblogic.jms.dispatcher.DispatcherImpl.dispatchAsyncFuture(DispatcherImpl.java:396)
              > at weblogic.jms.dispatcher.DispatcherImpl_WLSkel.invoke(Unknown
              >Source)
              > at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
              > at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              > at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
              > at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
              > at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
              >
              >What does this mean ?
              >
              >Ravi.
              >Tom Barnes <[email protected]> wrote:
              >>Seems more than odd. Are you sure that q1 got unprocessed
              >>messages from q2? How did you confirm?
              >>
              >>Perhaps q1 got messages its MDB already processed back again -
              >>an indication that the MDB is throwing Runtime exceptions
              >>or Errors, and the container is rolling back transactions.
              >>
              >>Raviprasad Athivilli wrote:
              >>> Hi
              >>>
              >>> I have a Cluster setup with 2 managed servers srvr1 & srvr2 each running
              >>its own
              >>> JMS server.
              >>> Product version in use is Weblogic SP2.
              >>> Configured a Distributed Queue and deployed it on both the JMS servers.
              >>> Set the load-balancing to round-Robin and Server-Affinity to False
              >>on the connection
              >>> factory.
              >>>
              >>> The producer is an external client which posts 100 messages to the
              >>Distributed
              >>> queue.
              >>> Consumers are MDBs pinned to the respective physical queues on the
              >>respective
              >>> JMS servers.
              >>> Each server has its own store.
              >>>
              >>> Once 100 messages are posted to the Distributed Queue. The messages
              >>are distributed
              >>> to
              >>> the 2 Physical Destinations equally i.e 50-50 each.
              >>>
              >>> While the MDBs are processing the msgs, server srvr1 is brought down
              >>at a point
              >>> when it has consumed only 10 of its 50 msgs.
              >>>
              >>> When the srvr1 is brought up again, i am finding that the store for
              >>that JMS server
              >>> contains the 40 unprocessed msgs in its physical queue + the msgs
              >on
              >>the other
              >>> queue that were unprocessed at the time this server crashed.
              >>>
              >>> When srvr1 went down, srvr2 was running and it went on to process
              >all
              >>its 50 msgs
              >>> completly. Why would those processed msgs show up again when srvr1
              >>is brought
              >>> up ?
              >>>
              >>> Please provide some input !!
              >>>
              >>> Ravi.
              >>
              >
              

  • JMS Server instance

    Using the J2EE Engine Administrator I did the follwoing:
    On the Server JMS Provider:
    I have added a queue named 'queue1' to the JMS Server Instance of 'default'
    Then I added a Queue Connection factory named 'jQCF' to the JMS Server Instance of 'default'.
    I can successfully get an Initial Context, but I can not perform a lookup on my Queue Connection Factory named 'jQCF'.
    Do I have to restart the J2EE engine to get this to work ?
    Do I have to reference the JMS Server Instance (named 'default') inside of the lookup() call.
    Do I need to restart anything or somehow reference the JMS Server instance ?
    Thanks, John

    Thank you Sai:
    I am executing the code from a <i>REMOTE client</i>,
    and I am able to get an INITIAL_CONTEXT successfully.
    I used he following code:
    try
       factory = (QueueConnectionFactory) context.lookup("jmsQCF");
    catch (NamingException ne)
       System.out.println( "NamingException -> \"" + ne.getMessage() + "\"");
    I got the following results:
    <b>   NamingException NamingException -> "Object not found in lookup of : jmsQCF"</b>
    I then used he following code:
    try
       factory = (QueueConnectionFactory) context.lookup("java:comp/env/jmsQCF");
    catch (NamingException ne)
       System.out.println( "NamingException -> \"" + ne.getMessage() + "\"");
    and I got a slightly different error:
    <b>   NamingException NamingException -> "Path to object does not exist at : java:comp"</b>
    I think it must be a problem with something not started on the J2EE Engine on the Server side, not sure.
    Do you have any ideas ?
    Thanks, John

  • JMS Server Current Count

              Hi,
              I have created two JMS Server in the WLS 6.0 Console but still the "CurrentJMSServerCount"
              value returns "ZERO".Am reading the values thro JMX Runtime MBeans.Let me wanna
              know whether any way to get the non zero values.
              Any suggesstions / tips are welcome
              Warm Rgds,
              Bala
              

    Hi Jason
    I suggest test step by step.
    Are the servers getting the RUNNING state?
    Are you able to test the datasource?
    Without the service migration, do you see the JMS Servers working properly?
    Otherwise, I recommend to enable some debugs to try to figure out what is happening.
    Troubleshooting WebLogic JMS - 11g Release 1 (10.3.6)
    Best Regards
    Luz

Maybe you are looking for

  • My Microsoft Word is not opening - error 1712

    my Microsoft Word is not opening - error 1712 - Mac OSX version 10.6.8 - processor 2GHz Intel Core 2 Duo - Memory 2 GB667 MHzDDR2 SDRAM my memory is been nearly used up, I have withdrawn 2 GB of archives so that I can continue using my machine, as I

  • Will an iBook G3 run fast with OS9?

    I have a 700mhz iBook G3 with OSX Tiger and maxed out RAM. It runs okay with OSX, but it's slow and the 20gb hard drive runs fairly hot at 50-54 degrees celsius. I was wondering about whether it would run much faster and cooler if I did a clean insta

  • Billing plan and billing status

    Hello Friends, I would like to clarify if my understanding is correct before I configure a billing plan: 1. Billing status is not seen in billing doc but in preceding doc like a DO. 2. For a Billing Plan, there can be 1 billing plan at item level for

  • To delete sample data OEHR_EMPLOYEES

    I am trying to remove Sample Data but I was unable to delete them. delete FIRST_NAME, LAST_NAME, EMAIL from OEHR_EMPLOYEES ORA-00933: SQL command not properly endeddelete from OEHR_EMPLOYEES ORA-02292: integrity constraint (xxxxx.OEHR_DEPT_MGR_FK) vi

  • Group message with 15 different people?

    [Topic title updated by moderator to be more descriptive. Original topic title was: "group message"] Is it possible to have group message with 15 different people?