Distributed JMS Question

Domain 1 (host1)
=========
I have 2 JMS servers target to 2 managed servers. I have Distributed Queues (distqueue1 & distqueue2) in a module targetted to both of the jms servers.
Where Managed server 1 --> Host 1
Managed server 2 --> Host 2
Domain 2 (host2)
========
I have an application deployed on the clustered environment.
=============================================================-
Till now I use to have my app connected to (Domain 1(host1)) to one jms server (targetted on ManagedServer 1), now I want my application to do lookup to the clustered JMS on both the servers.
So my question is how we proceed with the application to talk to the clustered jms (on multiple managed servers (on multiple physical hosts))

You can specify the distributed destination JNDI name for the destination. Weblogic provides cluster wide JNDI replication - so any object that is deployed to any of the managed servers or to the cluster will be visible in the global JNDI tree of all the managed servers in the cluster. So for the JNDI lookup you can connect to a single managed server, or, A better load balanced approach would be to use a dns lookup where your app connects to a dns name and the dns is resolved to different IP address ( man1 IP, man 2 IP etc) on each lookup.
You will have to get the load balancing setup on the Connection factory and the CF has to be deployed to a cluster to avoid unwanted routing between the man servers.
This has been discussed a lot in the jms forum. Please search and you will get more details.
One good link I got with a quick search
Clustering with a load balancer
Edited by: atheek1 on 25-Mar-2010 01:02

Similar Messages

  • Distributed JMS Queues and Port Information

    Hello,
              I am a reasonably inexperience WebLogic user, so forgive my ignorance.
              We are setting up a distributed JMS queue as a destination for messages being sent from our EAI server. The distribution will be across 2 servers in our QA environment and 3 servers in our production. We are using WebLogic Server 8.1.3 on an Windows 2003 environment.
              The people in our EAI environment need a port number on for the Queue in order to forward their messages to us. My question's are:
              1) Is the listen port for the Distributed Queue the same as the listen port for the Admin Server?
              2) If it is not, does it correspond to the listen port for the individual queues (which is the same between our environments)?
              3) If there is a third port in play, how does this get configured and where do I retreive this information?
              I appreciate any answers people are willing to give me on the issue.
              Thank you,
              Steven Enk
              Harley-Davidson Motor Company

    Hi Steven,
              WebLogic JMS shares the same WebLogic port as other WebLogic services, regardless of whether or not the destinations are distributed.
              One way to determine which ports are configured for a particular WebLogic server is to look at the log for that server.
              Ports are usually configured to support multiple protocols, and typically, one uses the "t3" protocol for URLs (its the highest performer), but there are other options (such as "http" for tunneling).
              You can configure additional ports (beyond the "default" port(s)) using the "channel" feature - i think you can find channels under the "WebLogic server" tabs on the console.
              For a server or client to establish communication with a remote cluster, one need only specify a URL for any one of the server's within the remote cluster. J2EE JNDI name location transparancy and WebLogic RMI load balancing will usually take care of the rest, although some customers setup DNS to help with load balancing (by for example, configuing their DNS "round-robin" addresses).
              Best practice is for the administrative server to be restricted to administrative purposes only. This means the admin server typically (A) doesn't host JMS (or any other services or any applications) and (B) is not a member of a cluster. So typically you won't be able to access JMS using an admin server's URL.
              Tom

  • Creating a secured DISTRIBUTED JMS topic.

    I need create a secured DISTRIBUTED JMS topic. That is, client should have the correct security credentials in order to access the topic.
    Please help.

    I need create a secured DISTRIBUTED JMS topic. That is, client should have the correct security credentials in order to access the topic.
    Please help.

  • JMS question

    Hi,
    Can the blazeds messaging system subscribe AIR clients to a JMS one-to-many topic?
    for example, I have a java program that creates a JMS topic called latest news. Some java subsystem adds new news items to this topics. I would like Flex AIR apps Consumers to subscribe to this JSM topic via blazeds so that they all get the broadcasted message
    possible?

    Ok, so it should be something like this:
    MessageBroker msgBroker = MessageBroker.getMessageBroker(null);
    AsyncMessage msg = new AsyncMessage();
    msg.setDestination(/*YourDestinationId*/);
    msg.setClientId(UUIDUtils.createUUID(false));
    msg.setMessageId(UUIDUtils.createUUID(false));
    msg.setTimestamp(System.currentTimeMillis());
    String messageBody = "Foo";
    msg.setBody(messageBody);
    msgBroker.routeMessageToService(msg, null);
    And the answer to your JMS question is yes. As long as you use JMS topics (not queues as a single queue is meant to be consumed by a single client), every Flex Consumer will get the message.

  • Distribute JMS Queues and ConnectionFactories

    Hi,
              Iam using Queues with filestore as persistence type. The Queues ,Conextion Factories are configured on Server A and Server B . Both are on different IP's. The MDB's are deployed on both the servers.
              When a message is send from Server A to Server B the MDB listening on server B is not pickingup that message.
              I configured the queues as normal queues. Is there any attribute needs to set for the Queues or connectionfactories to share the session between servers. I have the same JNDI names for the Queues and ConnectionFactories.
              Highly appriciate if anyone can tell me the solution.
              Regards
              Manikyala
              

    Hi,
              I have lots of questions:
              Where is sent message going? Can you check statistics to
              confirm that the message was successfully sent to the
              desired queue?
              Is MDB B may not be deploying and then connecting to JMS
              successfully? (A successful deployment doesn't mean
              that the MDB is connected.) Check your server logs for
              Warning/Error messages.
              Are you using the distributed destination feature?
              Are the two servers in the same cluster?
              Did you make sure that:
              All JMS servers, WL servers, and WL JMS stores
              are named differently?
              Tom
              Manikyala wrote:
              > Hi,
              >
              > Iam using Queues with filestore as persistence type. The Queues ,Conextion Factories are configured on Server A and Server B . Both are on different IP's. The MDB's are deployed on both the servers.
              >
              > When a message is send from Server A to Server B the MDB listening on server B is not pickingup that message.
              >
              > I configured the queues as normal queues. Is there any attribute needs to set for the Queues or connectionfactories to share the session between servers. I have the same JNDI names for the Queues and ConnectionFactories.
              >
              > Highly appriciate if anyone can tell me the solution.
              >
              > Regards
              >
              > Manikyala
              

  • Wls10.3 - JMS questions

    Hi
    What does it mean when you target a JMS module (and queues... in that module) to a cluster rather then to a specific JMS server ?
    Is it perhaps deployed to all JMS servers in the instances in that cluster ?
    Might help if i explain what i'm after. I want to create a JMS module containing two JMS queues and a connectionfactory and then deploy that module on all servers in a cluster.
    So i created a JMS module and added the queues, cf and then targeted the module to my cluster. I used distributed queues and then set "default targeting".
    But what about the JMS server(s)/persistant store then ? Thus, my questions above.
    /Laban
    Edited by: user1069472 on 2008-okt-29 04:16

    Laban,
    The recommended best practice is to use the "Advanced-Targeting" to create explicit sub deployments for the module resources and target those sub deployments to a specific (list) JMSServer, SAFAgent, WLS Server or to the Cluster appropriately. The "default-targeting", while it simplifies the targeting process, it might introduce some undesirable effects for resources such as "uniform-distributed-destination" that gets targeted to a cluster might end up having members all the available JMSServers in that cluster. Since this might not be a desirable in all the cases, it is not recommended as a best practice for module targeting.
    Please look at http://e-docs.bea.com/wls/docs103/cluster/service_migration.html#wp1067914 for a list of best practices for creating/targeting JMS Modules/Resources (you can ignore the migration aspect of this page).
    For more details on the JMS Modules /resource configuration, please look at http://e-docs.bea.com/wls/docs103/jms_admin/overview.html.
    Thanks
    Kats

  • Hyperion distributed installation question

    Gurus,
    We are upgrading from 9.3.3 to 11.1.2.1(Distributed environment) and have gone through the 11.1.2.1 start here , installation and configuration guides.
    Existing environment:
    Machine1(Windows 2003 R2): Hyperion Shared Services, EAS webapp,Essbase Provider Services(WebApp)
    Machine2(Windows 2003 R2): Workspace, BI+ Services, BI+ UIServices, BI+ Client, Web Analysis, Financial Reporting, Interactive Reporting
    Machine3(Windows 2003 R2): Planning Application/Web Server,EPMA web
    Machine4(Windows 2003 R2): HFM Web/App , FDQM Web/App
    Machine5(Linux 32bit) : Essbase Server
    Machine6(Linux 64bit) : Oracle RDBMS
    On Upgraded env plan to move to Windows 2008 and have:
    Machine1(Windows 2008 x64): Foundation Services (Hyperion Shared Services,Workspace web,EAS webapp, EPS webapp)
    Machine2(Windows 2008 x64): Web Analysis,Reporting&Analysis Framework,Financial Reporting,Interactive Reporting,
    Machine3(Windows 2008 x64): Financial Management App/Web, FDQM Web/App
    Machine4(Windows 2008 x64): Planning Application/Web Server,EPMA
    Machine5(Linux 64bit) : Essbase Server
    Machine6(Linux 64bit) : Oracle RDBMS
    From Page 94 "Oracle® Hyperion Enterprise Performance Management System Installation and Configuration Guide RELEASE 11.1.2.1 Updated: June 2011" states:
    a)
    On the machine on which you plan to administer the WebLogic Server, you must install all
    Web applications for all applications you plan to deploy on any machine in the environment.
    (The WebLogic Administration Server is installed and deployed on the Foundation Services
    machine.)
    b)
    On each remote machine in a distributed environment, install the Web applications you
    plan to run on that machine and then use EPM System Configurator to deploy the Web
    applications automatically, or manually deploy the Web applications.
    Note that EPM System Installer installs WebLogic Server on each machine (for Web tier and
    Service tier components) in a distributed environment.
    c)
    If you are deploying Web applications on a machine other than the WebLogic
    Administration Server machine, WebLogic Administration Server must be running
    Question:
    ======
    1) After installing components on respective machines per guideline a),b) above do we have to deploy webapps from products related to machine2,3,4 on machine1(foundation services). If everything gets deployed on Shared service machine -- we are concerned about the system resources that will be needed to run all the webapps.
    2) Assuming we do not want to use a cluster - do we still have to depoy to admin server? Please clarify.
    Best Regards

    When you say:
    Machine B Install Planning web application server
    Then go back to Machine A and install Planning web application server
    >>
    For this I understand from EPM Installer options need to select option of install components individually or by tier and choose all relevant components for plannnig
    Could you please clarify why this step is required - meaning what is purpose behind this - It would create software directory and install files right.
    We have already done this on above machine B earlier right? So duplicating the installation piece?
    Are we doing this in order to setup weblogic cluster like active passive config or just for convenicen to deploy?
    Deploy and Configure Planning web application server on Machine B and deploy to an exisiting domain on Machine A
    So this part is just launching EPM configurator and do tasks related to Plannnig on machine B and when choosing the domain select option to use already created on machine A right?Also when I do the installation for Planning on Machine B - wont it also install admin server on same machine which I can use to deploy locally? Please clarify.

  • WLS 6.1 JMS Questions

              A couple of questions:
              I'm using a user txn on a servlet to insert into a JMS queue, and update a field
              in the database. I'm using a Message-driven Bean (with container managed txn)
              to service said queue... When I rollback the txn in the MDB, it looks like it
              actually rolls back the servlet's txn as well! I was expecting this to result
              in the message being put back onto the queue only... Can I correct this behaviour?
              Is there a way for me (in the MDB) to take the message and place it back onto
              the queue for processing later (e.g., 5 minutes)?
              Thanks in advance, Chad
              

    Chad Stansbury wrote:
              > A couple of questions:
              >
              > I'm using a user txn on a servlet to insert into a JMS queue, and update a field
              > in the database. I'm using a Message-driven Bean (with container managed txn)
              > to service said queue...
              > When I rollback the txn in the MDB, it looks like it
              > actually rolls back the servlet's txn as well! I was expecting this to result
              > in the message being put back onto the queue only... Can I correct this behaviour?
              You are right, this is odd and incorrect behavior, but I can't imagine
              how it happening. Contact customer support.
              >
              > Is there a way for me (in the MDB) to take the message and place it back onto
              > the queue for processing later (e.g., 5 minutes)?
              >
              There are a couple of ways. You can configure a "RedeliveryDelay" on
              the destination via the console, this delays redelivery of rolled back
              messages. Or you can commit() the transaction, and resend the message
              to its originating queue using a
              ((weblogic.jms.extensions.WLMessageProducer)producer).setTimeToDeliver(5000);
              > Thanks in advance, Chad
              Your welcome,
              Tom
              

  • Distributed Component question

    Hi,
    I've a question about the set-up/architecture of a project. Im thinking of an application which has like 2 screens which is a simple master detail setup. A list contains items of a certain type. Dependant of the type, a specific screen has to be shown with its details. As certain types are financial related and some are human resource related for  example i want a way to seperate them project wise.....This because when i want to fix something in the financial screens, i dont want to impact the human resource stuff with deployment. After reading some things, i got the impression that distributed components could work here. Then i could create a component which is deployed seperately of its main application and doesnt affect other components when a fix is needed. Im i on the right track here?
    Can anyone also point me to a tutorial of how to create a simple distributed component. All i could find was a ppt of a teched which i found quite complicated.
    much thanks & regards,
    Hugo

    Hi Hugo,
    I suggest you to go through componentization articles by Bertram.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/presentation%20-%20web%20dynpro%20component%20interface%20defintions%20in%20practice.pdf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/readme%20-%20web%20dynpro%20component%20interface%20definitions%20in%20practice.pdf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/web%20dynpro%20java%20for%20experts:%20Web%20Dynpro%20Component.pdf
    Regards, Anilkumar

  • Distributed JMS Topic consumer reconnection... How???

    Hi!
              I'm trying to develop a JMS consumer that is connected to a distributed topic located in a 2-machine cluster. The client knows the address of the two servers, so the idea is to catch the JMSException (JMS destination shutdown) with a ExceptionListener (or something like that) if one server fails, and then try to connect to the other one...
              I've been browsing Weblogic docs but I didn't find any example for this.
              How do I implement my consumer? Is there any other approach to my problem?
              Thanks a lot!
              Jorge Granado
              

              Hi Tom:
              Finally I've been able to reconnect my consumer. I took a "clean" one (mine was
              getting too complicated :-) and it worked. I took the TopicReceive sample from
              bea samples and added a "reconnect" method following your recommendations about
              reusing existing ConnectionFactory. I'm beginning to think I was forgetting to
              start the connection, but anyway now it works great. Thanks a lot!
              BTW, could you explain to me how can I change (if possible) in "real-time" the
              MessageSelector properies for an existing consumer? Suppose that I have a consumer
              connected to a topic with a selector like "priority >=2" and I'd like to change
              it to "priority >=3" without restarting the application... Is it possible??
              Thanks again
              Jorge
              Tom Barnes <[email protected].bea.com>
              wrote:
              >Seems like your following the recipe correctly. :-)
              >
              >Could you try this on a platform other than AIX?
              >
              >Are you using the same version of WL jars for client and server?
              >
              >Are you using the new 8.1 "thin client" jars for the client? If
              >so try using weblogic.jar instead (don't put both kinds
              >of jars in your classpath).
              >
              >
              >"Jorge Granado" jorge.granadoATatosorigin.com wrote:
              >
              >> Hi again!
              >>
              >> Well, maybe there's something I don't get, but what I'm trying to do
              >is:
              >>
              >> -Create a topic consumer and connect it to the distributed topic (standard
              >process...)
              >> -Shutdown the server where the consumer is connected...
              >> -Capture the exception
              >> -Close the topic connection
              >> -Create a new one reusing existing topic connection factory (as you
              >told me there's
              >> no need to make a lookup again...)
              >> -Create a topic session over the new topic connection
              >> -Create a subscriber
              >> -Read messages... :-)
              >>
              >> But in 5th step what I get is a new Exception... "Error creating connection
              >to
              >> the server"
              >>
              >> I'm sure I've misunderstood something... :-(
              >>
              >> Thanks again for your patience :-)
              >>
              >> Jorge
              >>
              >> Tom Barnes <[email protected].bea.com>
              >> wrote:
              >>
              >>>No, I don't know what is happening. I wonder if you are
              >>>somehow multi-threading the session? Try closing
              >>>the old connection before reconnecting. And note that
              >>>there is no need to lookup up the CF again, as the old CF
              >>>should work fine (it is a clusterable RMI reference,
              >>>so it can survive failures).
              >>>
              >>>"Jorge Granado" jorge.granadoATatosorigin.com wrote:
              >>>
              >>>>Now I've created a consumer, and when catching the session exception
              >>>
              >>>and try to
              >>>
              >>>>reconnect to another WL instance, when I make the JNDI lookup to my
              >>>
              >>>connection
              >>>
              >>>>factory, instead of getting a weblogic.jms.client.JMSConnectionFactory
              >>>
              >>>what I
              >>>
              >>>>get is an weblogic.jms.frontend.FEConnectionFactory_812_WLStub_812_WLStub.
              >>>
              >>>>This causes a ClassCastException and I can't connect to it. Any idea
              >>>
              >>>what is happening?
              >>>
              >>>>Thanx again :-)
              >>>>
              >>>> Jorge
              >>>>
              >>>>BTW, I'm using WL 8.1 SP2 (AIX platform)
              >>>>
              >>>>Tom Barnes <[email protected].bea.com>
              >>>>wrote:
              >>>>
              >>>>
              >>>>>Hi Jorge,
              >>>>>
              >>>>>Registering exception-listeners and retrying on failure
              >>>>>seems like the right approach. I'm not sure what you
              >>>>>are looking for in an example.
              >>>>>
              >>>>>For more information on JMS clustering, I recommend reading
              >>>>>the JMS Performance Guide white-paper on dev2dev:
              >>>>>
              >>>>>http://dev2dev.bea.com/technologies/jms/index.jsp
              >>>>>
              >>>>>Tom, BEA
              >>>>>
              >>>>>P.S. One thing to realize is that WebLogic distinguishes between
              >>>>>"session" exceptions and "ccnnection" exceptions. Shutting
              >>>>>down JMS without shutting down a client connection's WL
              >>>>>server only generates session exceptions, as the connection
              >>>>>is still valid. To monitor session exceptions, register
              >>>>>a session exception listener (see the weblogic.jms.extensions
              >>>>>package).
              >>>>>
              >>>>>Jorge Granado wrote:
              >>>>>
              >>>>>
              >>>>>
              >>>>>>Hi!
              >>>>>>
              >>>>>>I'm trying to develop a JMS consumer that is connected to a distributed
              >>>>>
              >>>>>topic located in a 2-machine cluster.
              >>>>>
              >>>>>
              >>>>>>The client knows the address of the two servers, so the idea is
              >to
              >>>>>
              >>>>>catch the JMSException (JMS destination shutdown)
              >>>>>
              >>>>>with a ExceptionListener (or something like that) if one server fails,
              >>>>>
              >>>>>and then try to connect to the other one...
              >>>>>
              >>>>>
              >>>>>>I've been browsing Weblogic docs but I didn't find any example for
              >>>>>
              >>>>>this.
              >>>>>
              >>>>>
              >>>>>>How do I implement my consumer? Is there any other approach to my
              >>>
              >>>problem?
              >>>
              >>>>>>Thanks a lot!
              >>>>>>
              >>>>>> Jorge Granado
              >>>>>
              >>
              >
              

  • Distributed JMS help using topic - can it do this?

    Using Weblogic 10.0, what is the a suggested configuration for having 2 apps in a cluster, where one creates messages in a distributed topic and another (a servlet) reads those messages? Messages need to be acknowleged and removed once read regardless of which managed server the user is on.
              Currently, I have a cluster of managed servers with a Uniform Distributed Topic, and I need a user to read a message just once regardless of which managed server he uses.
              I have 2 Ears - one creates messages, and another is a servlet that allows a user to read a message.
              My reader has a listener that subscribes on startup - like this:
              tconFactory.createTopicConnection(...);
              connection.createTopicSession(...)
              session.createSubscriber (...)
              It does a readNoWait() if a user clicks on a button. Another app puts messages in the topic.
              I want the user to read the message once (any only once) regardless of which managed server he is on.
              The way it is working is that if a user switches from one managed server to another he sees old messages he already read.
              Also, I tried using the module!queuename JNDI name but I get an exception. I have to just use the "regular" topic name.
              Any help appreciated!
              thanks in advance
              Edited by dantill at 05/16/2008 8:12 AM

    So in a clustered environment, if a user is reading (and acknowledging) messages from a topic and that user is "load balanced" to another managed server on the cluster, he will see messages he already acknowledged?                     No - things don't work this way, unless the user is attaching to two different durable subscriptions. You may want to pick up a book on JMS, or study up on the Sun tutorials, and pay special attention to the difference between queues and topics, and the difference between "non-durable" and "durable" topic subscribers. It would likely help if you firmed up on these concepts before diving into the concept of distributed topics.
              The key points of WL distributed topics are:
              (1) Durable subscription can only be formed directly on a member (they can't move from member to member!), you can't specify the distributed topic JNDI name when creating a durable subscription - only the member JNDI name.
              (2) Non-durable subscriptions can specify the distributed topic JNDI name.
              (3) Just as with a non-distributed topic, every message that is sent to the distributed topic or that is sent directly to particular member is in turn delivered to every subscribers on every members.
              >>>> About Migratable targets - it may have been this statement:
              "A migratable target is a special target that can serve as a grouping of JMS services and which is active on only server member in a cluster."
              All this means is that multiple JMS services (such as JMS servers) can all target to the same MT. When the MT is migrated from one WL server to another, all related JMS servers are migrated.
              PS. Given my limited knowledge of your use case, it seems like you're looking for a distributed queue (not a topic), with a single consumer that can switch between one of two servers. Or perhaps one consumer on each server. In addition, in order to avoid "abandoning" messages on a particular queue member without consumers, there's a configurable option to have the idle member automatically forward its messages to a queue member that actually has consumers (queue forwarding option).
              Hope this helps,
              Tom

  • Distributed Audio Question

    Hi All,
    As a follow on to my previous post before I take the leap from Cubase to Logic I have 2 more questions.
    1. For those that have used Distributed Audio, is it necessary and useful, or was it a pain in the a**? Does it work well? How many machines did you chain.
    2. How does the licensing on distributed audio work (buying extra copies, etc)?
    Does anyone have any links (Apple or otherwise) to information on Distributed Audio, all the stuff that was there and indexed in Google has since been removed with the launch of Logic Pro 8.
    Cheers
    T.

    It's probably best to check out the documentation:
    http://manuals.info.apple.com/en/LogicPro_8_UserManual.pdf
    To answer your questions:
    1. I never needed it. But if I ever do it's nice to know that it was there. It was very easy to setup. All you need is a Gigabit switch to attach your Macs or if you're using just two, connect them directly. I only ever chained two machines.
    2. Logic comes with a node utility that you run on the other macs so you don't need to buy more than once copy of Logic. However, the new manual above indicates that if you want to run third party AU effects on node machines they will need to be authorized on those systems.
    However, in Logic's AU manager you can independently select whether a 3rd party plugin is available for Node usage.

  • Distributed JMS based logging .. falling flat?

    In our fancy ESB, logging of each request is done via a common infrastructure based on JMS based logging. Here is what happens in a nutshell:
    service gets a request service
    prepares some data in a LogData
    object service calls database
    time taken for db interaction is captured in LogData object
    service is ready to send response
    LogData object is sent to a messaging destination
    service sends response
    Very rosey! yes for paper architects. Here is the actual issue: The JMS service provider sometimes becomes unavailable - due to a system level error or the software crashes. Then the service waits at the step (step no. 6) where it has to make JMS connection to send LogData object. Resulting in delayed response, thus leading to bad performance and user experience.
    So that is the biggest shortcoming of "Distributed logging using JMS" touted by a lot of developer websites. Also note that the presance of LogData is kind of critical non-functional requirement. That means the messages are sent in persistent mode, leading to a wait until the JMS provider confirms receipt of message to the sender (the service in this case) - what to be blamed? immature design? Are there any success stories of implementing something like this?

    user13559021 wrote:
    In our fancy ESB, logging of each request is done via a common infrastructure based on JMS based logging. Here is what happens in a nutshell:
    service gets a request service
    prepares some data in a LogData
    object service calls database
    time taken for db interaction is captured in LogData object
    service is ready to send response
    LogData object is sent to a messaging destination
    service sends response
    Very rosey! yes for paper architects. Here is the actual issue: The JMS service provider sometimes becomes unavailable - due to a system level error or the software crashes. Then the service waits at the step (step no. 6) where it has to make JMS connection to send LogData object. Resulting in delayed response, thus leading to bad performance and user experience.
    So that is the biggest shortcoming of "Distributed logging using JMS" touted by a lot of developer websites. Also note that the presance of LogData is kind of critical non-functional requirement. That means the messages are sent in persistent mode, leading to a wait until the JMS provider confirms receipt of message to the sender (the service in this case) - what to be blamed? immature design? Are there any success stories of implementing something like this?I don't understand what this has to do with JMS.
    You can substitute 'database', 'web service' or 'jboss' (as examples) in the above and change nothing.
    If you have a remote server that is a required part of your processing system in a 24x7 system then you must come to some understanding of both what is allowed when the service is not available at all and what is allowed when there are intermittent outages.
    The first must be considered because something like a router going done can take quite a while to diagnose and replace.
    Besides the solution noted above I have also implemented a solution that cause my service to stop accepting any transactions at all if the secondary processors cannot respond in a timely manner. The reasoning there is that in planned for volume scenarios it is possible for several thousand transactions to be backed up even in the best circumstances in a couple of seconds, thus taking more in could result in a large number of failures.
    Additionally back end systems might run via a load balancer. That however can still have failure scenarios, again for example when a router goes out, or when one balanced server accepts a connection but fails to process it.

  • Problems using distributed JMS topic

              I'm having problems using a distributed topic. I'm running WebLogic 8.1 (SP1)
              with two managed servers in a cluster. I created a new distributed topic using
              the console, and used auto deploy to target the distributed topic to the cluster
              and create members on both servers. I deployed three message-driven EJBs (listening
              on the distributed topic) to both servers.
              After initial deployment, the topic works as expected - I post a message to the
              distributed topic, and it is received by all six EJBs. When I re-start the system
              (both managed servers and the admin server), however, the results are different.
              When I post a message to the distributed topic, it is only received by the three
              EJBs on the first server (the log shows that all EJBs have deployed successfully).
              Under Deployments/EJB Modules/Monitoring, the EJBs on the second server show "JMSConnection
              Alive" as false, while the others are true.
              Under Monitoring/"Monitor all Active JMS Destinations..." for the member topics,
              there are three consumers listed when there should be six.
              If remove and re-create the member topics, or the distributed topic, exceptions
              appear in the log saying that one or both of the member topics are "suspended".
              Is there additional configuration that needs to be done for this scenario? Are
              there any known problems related to distributed topics?
              Thanks,
              Richard
              

    Hi Richard,
              There are no 8.1SP1 problems that I know of.
              Check your logs for Warnings and Errors - distributed topics
              members often log an explanatory message
              when they fail to contact their fellow members.
              Also make sure that you have configured so that
              the following are true:
              All WL servers are named differently.
              All JMS servers are named differently.
              All JMS stores are named differently.
              All distributed topic members within a distributed topic are named
              differently.
              Also make sure that your cluster is coming up
              properly in the first place. If you have
              trouble doing so, you can post
              to the clustering newsgroups for info.
              Tom
              Richard Killen wrote:
              > I'm having problems using a distributed topic. I'm running WebLogic 8.1 (SP1)
              > with two managed servers in a cluster. I created a new distributed topic using
              > the console, and used auto deploy to target the distributed topic to the cluster
              > and create members on both servers. I deployed three message-driven EJBs (listening
              > on the distributed topic) to both servers.
              >
              > After initial deployment, the topic works as expected - I post a message to the
              > distributed topic, and it is received by all six EJBs. When I re-start the system
              > (both managed servers and the admin server), however, the results are different.
              > When I post a message to the distributed topic, it is only received by the three
              > EJBs on the first server (the log shows that all EJBs have deployed successfully).
              >
              > Under Deployments/EJB Modules/Monitoring, the EJBs on the second server show "JMSConnection
              > Alive" as false, while the others are true.
              >
              > Under Monitoring/"Monitor all Active JMS Destinations..." for the member topics,
              > there are three consumers listed when there should be six.
              >
              > If remove and re-create the member topics, or the distributed topic, exceptions
              > appear in the log saying that one or both of the member topics are "suspended".
              >
              > Is there additional configuration that needs to be done for this scenario? Are
              > there any known problems related to distributed topics?
              >
              > Thanks,
              > Richard
              >
              

  • File adapter to JMS question.

    Hi All,
    I have a file to JMS scenario.
    I wanted to know
    1.If PI is down and the messages are stacked in my file outbound folder.. when PI comes back up..
       incase if the filenames have a timestamp..is there a way for PI to pick them up in serial order.. oldest
       timesamp first?.
    2.If my target system is down, in this case my messages will be stuck in PI..but when my target
       system is back up.. and if the source sends a message at the same time.. this will get processed 
       before the messages that are in error state in PI and can be resubmitted. Is there a way to control
       this.. so that a new message is not processed before the old ones have been resent?.
       My Main aim is for the messages to go in the order of which they are sent according to the oldest
       timestamp first.
       Has anyone encountered a similar situation for serialisation?.
       Thanks a Lot!!.

    1. For setting the order
    For this you have to set the Quality of Service to Exactly once in order. and set a Queue Name.
    In this way all the messages picked up will go to the same queue. Only the first message entered has to get processed before the new messages
    2.For processing sequence
    Once that is done select the processing sequence as By Date. In this way the oldest will be picked up first.
    Here the problem is files created at same second will get picked up in any order. For minutes the order is preserved.

Maybe you are looking for

  • How to create a sales order using PO ALE Idoc

    Hi, I  have a purchase order in my ECC6 system, and output for this PO is ALE idoc. Now I want to create a Sales order using that Idoc in the same system, can anbody please tell the procedure sreeram

  • 17" i7 MacBook Pro incredibly slow

    My i7 macbook Pro has become incredibly slow. Boot time is well over 3 minutes, bringing up a program (such as Microsoft Word or Pages) takes upto 2 additional minutes. When I look at the activity monitor, it does not appear that the machine is CPU b

  • Report FP_TEST_00 - Strange behavior

    Hello Gurus, A strange behavior with report FP_TEST_00 occurs: SA38 --> FP_TEST_00 --> select a device --> execute --> print preview then and error or popup is show: Adobe Reader Error initializing the font server module Then the SAP GUI is closed, I

  • Error 500 Out of Memory on x64 bit machine

    Using windows vista 64bit business x64 bit machine 32 bit application using visual fox pro odbc driver Happens on Crystal reports 8 and 10 After 3+ million records with our query we receive an Error 500 out of memory. Under windows 32bit machine, we

  • Compress pdf/reduce file size

    I have both Acrobat 9 pro extended & 10 X pro, when i use the 9 version to compress a pdf file(using optimized scan pdf), i find it very powerful  & the file becomes extremely  small, but when i use the same option in 10 X pro, the file becomes bigge