Connecting JMS servers together into a cluster
Hi
I am just wondering if anyone tried (or is it even possible) to connect JMS servers
from different providers (say BEA and Sonic) together in a cluster of some sorts?
Thanks
Integrating foreign vendors with WL has come up many times in this newsgroup.
Search for "MQ" (MQSeries) and "Sonic".
Tom
Alex wrote:
> Hi
>
> I am just wondering if anyone tried (or is it even possible) to connect JMS servers
> from different providers (say BEA and Sonic) together in a cluster of some sorts?
>
> Thanks
Similar Messages
-
Connecting multiple services together: Google Drive, Drop Box, and Cloud.
Is there a way to connect multiple services such as Google Drive, Drop Box, and Cloud into one program that allows to you manage all three at once? I am trying to look for a program that can connect all three together into one. Is there such a thing?
No such program exists that I've seen, and given the proprietary nature of each service, particularly iCloud, I very much doubt such a program would be possible.
Regards. -
JMX script for monitoring JMS servers in a cluster
hi
I am new to writing scripts. I will appreciate if I can get some help in writing a JMX script for monitoring JMS Servers in a cluster a well as monitoring the distributed queues
thanksExact scenario is,
JMS Server
|
DistributedQueue
| |
JMSrvr1 JMSrvr2
Q1 Q3
Q2 Q4
Q1 and Q2 delegateing messages, and at the same time Q3,Q4 also delegating messages.
If JMSrvr1 down, we need to merge Q1 and Q2 with JMSrvr2. Here we cannot migrate as, JMSrvr already have queues. We need to merge all these queues.
Thanks and Regards,
Narayana Moorthy. -
I wonder if someone could clear this up for me, JMS support the following architecture
JMS Clients (Which can be either a JMS Producer or a JMS Consumer)
JMS Provider (which provides the destinations for JMS Clients to send/recieve
messages)
In the case of WLS 7.0 is the actual JMS Server the JMS Provider?
regards
Barry
In WebLogic:
JMS destinations are hosted on a JMS server (as I wrote below)
A WL server may host zero or more JMS servers (as I wrote below)
A WL cluster may host one or more WL servers, where all
share a replicated JNDI context
JMS client connections are hosted on a WL server within
the same WL cluster as their JMS server,
where the connection host is determined
round-robin style according to the configured
targets for the connection factory they are using.
As per the JMS API, JMS clients access destinations
via resources obtained from their JMS connection
(resources include consumers and producers),
the JMS connection routes all client requests
to these resources through
its WL server host to the JMS server
which hosts the destination (which may
be on another WL server within the cluster)
You will find this information in the JMS Programmer's Guide,
as well as most books that cover WL JMS, as well as
the "JMS Performance Guide" white-paper.
Tom
Barry Myles wrote:
> What then is a JMS Provider? and how does it map to the architecture and components
> found in a WLS?!?!?!?!
>
> I know how JMS Consumers and Producers fit into this but am still in the dark
> as to what component provides the actual JMS service? I thought that by connecting
> to a JMS Server and starting a JMS session you were in-effect being provided with
> a JMS service by the server?
>
>
> Tom Barnes <[email protected].bea.com>
> wrote:
>
>>WL JMS clients can run stand-alone or on a WL server. That
>>WL server can host zero or more JMS servers.
>>
>>JMS Provider is a loose term. It might be most clear
>>to say that the WL cluster is the JMS "destination" provider,
>>and that WL JMS destinations are hosted on one or more
>>JMS servers within that cluster. I put it this way
>>because destination's are location transparent
>>within the WL cluster JNDI context, so a client need only
>>locate any server within the cluster to communicate with
>>a destination, and doesn't ever know the actual physical server
>>within the cluster that hosts the destination.
>>
>>Barry Myles wrote:
>>
>>>I wonder if someone could clear this up for me, JMS support the following
>>
>>architecture
>>
>>>
>>>JMS Clients (Which can be either a JMS Producer or a JMS Consumer)
>>>
>>>JMS Provider (which provides the destinations for JMS Clients to send/recieve
>>>messages)
>>>
>>>In the case of WLS 7.0 is the actual JMS Server the JMS Provider?
>>>
>>>regards
>>>Barry
>>
>
-
How do you span a jta usertransaction across multiple jms servers?
I have an ejb that connects to multiple jms servers (non-clustered) and
retrieves messages. Those messages are concatenated together and placed on
another jms queue. Is it possible to do all of this inside of one
transaction? I am having trouble pulling this off.
Sure, you can do this. Assuming you're using WLS JMS, you have to make sure that for all the JMS servers you're talking to, you use a connection factory with the "XA Connection Factory Enabled" flag set. You also need to make sure that you use JTA to start a transaction before retrieving the first message, and commit it after you're done with the final send.
-
JMS sub-deployment targeted to cluster
Hello,
I have read at the Oracle documentation that we can use a sub-deployment within a JMS module targeted only to a single JMS Server. But I have an application that create JMS resources with deploy descriptors (Application modules) and target the sub-deployment to a cluster with two machines, each machine has a JMSServer. It seems to work (I see them on the JNDI tree on both machines). This is the jms.xml:
Do you also use sub-deployment targeted to a cluster or I shouldn't? Thank you in advance ;)
I am using webLogic version 10.3.4.0
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-jms xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-jms"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
<wls:quota name="InboundMessageQuota">
<wls:bytes-maximum>1000000</wls:bytes-maximum>
<wls:messages-maximum>10000</wls:messages-maximum>
</wls:quota>
<!-- Factories -->
<wls:connection-factory name="InboundMessageConnectionFactory">
<wls:sub-deployment-name>InboundMessage</wls:sub-deployment-name>
<wls:jndi-name>jms.InboundMessageConnectionFactory</wls:jndi-name>
<wls:security-params>
<wls:attach-jmsx-user-id>false</wls:attach-jmsx-user-id>
</wls:security-params>
</wls:connection-factory>
<!-- Queue's -->
<wls:uniform-distributed-queue name="InboundMessageQueue">
<wls:sub-deployment-name>InboundMessage</wls:sub-deployment-name>
<wls:delivery-params-overrides>
<wls:delivery-mode>Non-Persistent</wls:delivery-mode>
</wls:delivery-params-overrides>
<wls:delivery-failure-params>
<wls:redelivery-limit>0</wls:redelivery-limit>
</wls:delivery-failure-params>
<wls:jndi-name>jms.InboundMessageQueue</wls:jndi-name>
</wls:uniform-distributed-queue>
</wls:weblogic-jms>Technically, cluster targeting a distributed destination is supported, and it'll work as long as your can be absolutely assured that the cluster will never host additional JMS servers - perhaps from future projects, or due to integrating third party products. Otherwise, your distributed destinations will end up creating instances on JMS servers where they don't belong - a common mistake that can be tough to diagnose and untangle. I highly recommend staying with the best practice of using a subdeployment that references exactly the intended JMS servers. Note that a subdeployment can reference more than one JMS server.
See [url http://download.oracle.com/docs/cd/E17904_01/web.1111/e13738/best_practice.htm#JMSAD455] WL JMS Configuration Best Practices
Hope this helps,
Tom -
Deploying a web app into a cluster
Hi Folks,
I like to create a script that will automate the deployment of a web application
(WAR file) into a cluster. I found the weblogic.deploy util which allows updates
on servers.
How do you specify a cluster as the destination of the deployment?
Is there another way to do this?
-RichHi.
You can use weblogic.deploy to deploy to a cluster by specifying the cluster name as
the target parameter instead of individual server names.
Regards,
Michael
Rich wrote:
Hi Folks,
I like to create a script that will automate the deployment of a web application
(WAR file) into a cluster. I found the weblogic.deploy util which allows updates
on servers.
How do you specify a cluster as the destination of the deployment?
Is there another way to do this?
-Rich--
Michael Young
Developer Relations Engineer
BEA Support -
Update: verified in a 12.1.1.0 (JDK6) cluster - bug does not occur there.
Hi,
I have been migrating an 10.3.5.0 server to WebLogic 12.1.2.0 and have been unable to keep the subdeployment dropdown populated in the subdeployment tab of a uniform distributed queue when the subdeployment targets more than 1 JMS Server.
If I uncheck one of the servers - I work fine - however I would like to target all JMS Servers in the cluster - this used to work fine in 10.3.5.0
Following
http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24401/taskhelp/jms_modules/distributed_queues/CreateUniformDistributedQueues.html
I am able to create a new queue no problem against the multiple-server subdeployment - but when I navigate to the subdeployment dropdown - the target is erased with "None".
If I save the subdeployment after setting it during the queue create - it is erased
<sub-deployment-name>MW-JMS-SubDeployment</sub-deployment-name>
Before:
<weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
<uniform-distributed-queue name="HousekeeperControlQueue">
<sub-deployment-name>MW-JMS-SubDeployment</sub-deployment-name>
<jndi-name>jms/HousekeeperControlQueue</jndi-name>
</uniform-distributed-queue>
</weblogic-jms>
After:
<weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
<uniform-distributed-queue name="HousekeeperControlQueue">
<jndi-name>jms/HousekeeperControlQueue</jndi-name>
</uniform-distributed-queue>
</weblogic-jms>
Workaround:
- upon server startup the config is valid - just dont re-save the jms module or the subdeployment target will be erases
- also when creating a new subdeployment you will be able to select it from a jms distributed queue in the advanced targeting section even if it contains expected multiple JMS servers
- you will not however be able to edit the JMS queue once created - if there is any change to targeting - recreating the queue is required
thank you
/michaelUpdate: verified in a 12.1.1.0 (JDK6) cluster - bug does not occur there.
Hi,
I have been migrating an 10.3.5.0 server to WebLogic 12.1.2.0 and have been unable to keep the subdeployment dropdown populated in the subdeployment tab of a uniform distributed queue when the subdeployment targets more than 1 JMS Server.
If I uncheck one of the servers - I work fine - however I would like to target all JMS Servers in the cluster - this used to work fine in 10.3.5.0
Following
http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24401/taskhelp/jms_modules/distributed_queues/CreateUniformDistributedQueues.html
I am able to create a new queue no problem against the multiple-server subdeployment - but when I navigate to the subdeployment dropdown - the target is erased with "None".
If I save the subdeployment after setting it during the queue create - it is erased
<sub-deployment-name>MW-JMS-SubDeployment</sub-deployment-name>
Before:
<weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
<uniform-distributed-queue name="HousekeeperControlQueue">
<sub-deployment-name>MW-JMS-SubDeployment</sub-deployment-name>
<jndi-name>jms/HousekeeperControlQueue</jndi-name>
</uniform-distributed-queue>
</weblogic-jms>
After:
<weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
<uniform-distributed-queue name="HousekeeperControlQueue">
<jndi-name>jms/HousekeeperControlQueue</jndi-name>
</uniform-distributed-queue>
</weblogic-jms>
Workaround:
- upon server startup the config is valid - just dont re-save the jms module or the subdeployment target will be erases
- also when creating a new subdeployment you will be able to select it from a jms distributed queue in the advanced targeting section even if it contains expected multiple JMS servers
- you will not however be able to edit the JMS queue once created - if there is any change to targeting - recreating the queue is required
thank you
/michael -
Exe behaves inconsistently with input data into a cluster
I'm on Labview 2011, SP1, so this may have been updated, but here's a quirk I discovered.
I was reading a network shared variable on a remote machine (with 7 integers) into a labview built app (exe) and passing those integers to a cluster used for control. Sometimes it worked, sometimes it didn't, so I figured I didn't understand shared variable enough (even though I had used them in the same situation many times).
I switched to writing a file on that remote system, then reading that info into the same cluster. Sometimes it worked, sometimes it didn't. Tried all kinds of tricks, but any time there was a direct connection between that variable input data and the cluster, it was inconsistent.
Turns out that the problem seemed to be the exe halting without error upon bundling the data into the cluster, but not every time.
So what finally got around the problem was writing the integers to a duplicate cluster, then using a local variable of that cluster to bundle those values into the controlling cluster.
Once the path between network passed input data and controlling cluster was "double blind" to the application builder, the problem was gone.
In case it makes some difference, the controlling cluster originated as a user control.Do you have a simple example that demonstrates the problem. I would like to test it on later versions.
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
Accessing JMS UDD deployed on OSB cluster from a composite JMS adapter deployed on soa cluster
Our environment setup
Single domain with three clusters
osb_cluster.soa_cluster and bam_cluster
osb_cluster: osb_server1 and osb_server2
wlsbJMSServer_auto_1: targetted to osb_server1
wlsbJMSServer_auto_2: targetted to osb_server2
osb_subdeployment1:targetted to wlsbJMSServer_auto_1 and wlsbJMSServer_auto_2 JMS servers
osb_subdeployment1 has JMS UDD queue jms/wlsb/queue
soa_cluster: soa_server1 and soa_server2
There is a BPEL composite deployed to soa_cluster. It has JMS adapter trying to read messages from jms/wlsb/queue
JCA JMSAdapter is deployed to osb,soa clusters and Admin server
ConnectionFactory is targetted to soa and osb clusters (osb_cluster and soa_cluster)
We have bounced soa and osb servers(not admin) after jms changes.
soa log says
JMSAdapter Composite1l JmsDDEndpoint_onFailure: Unable to resolve 'jms.wlsb.queue. Resolved 'jms'
Can we access JMS destinations deployed on one cluster from different cluster?
If yes, how can we do that ? do we need to modify BPEL JCA file to indicate destination is on another cluster?
Thanks,
PraveenAnybody has faced similar issue?
-
hi
I am working on WLS 8.1. I developed a script using weblogic.admin to get the information about all the JMS servers in a cluster. It was working fine. But now as I configured paging and distributed queues to my JMS servers, that script is only getting the information of the JMS servers which dont have these added features with the same. I appreciate if somebody can tell me the reason those servers are not active.
thanks in advanceHi,
It sounds like you may have a generic mbean problem and not something unique to JMS. The "management" newsgroup may be able to help if you post more info there.
Meanwhile, in case you're unaware, there's a simple JMS stat dump sample program for 8.1 called "JMSStats.java" available on dev2dev. Search code-share for jmstats, or one of these links might work:
https://codesamples.projects.dev2dev.bea.com/servlets/ScarabDownload/resultpos/-1/nbrresults/0/remcurreport/true/template/ViewAttachment.vm/attachid/311/filename/JMSStats.zip
https://codesamples.projects.dev2dev.bea.com/servlets/Scarab/remcurreport/true/template/ViewIssue.vm/id/S52/eventsubmit_dosetissueview/foo/resultpos/-1/nbrresults/0/action/ViewIssue/tab/4/readonly/false
Tom -
I have a requirement to scale very large volumes of JMS messages (300+ million messages per day). I am concerned that the JMS server will become a bottleneck in the cluster. Is it possible to add additional JMS servers and use distributed destinations to load balance JMS traffic and maintain transparency to the JMS consumers/producers?
Yes, distributed destinations are transparent. They appear as a single logical destination to the application. For messaging applications, other major items may also impact performance/scalability. Working on these sometimes reduces the need for distributed destinations (tuning, batching, WL version, etc.)
Tom -
JMS Server targeted to Server cluster
Hi , Can JMS Server be targeted to Server Cluster? Are there any
architectural best practices for this?Thanks Tom.
<Tom Barnes> wrote in message news:[email protected]...
There's no underlying machinery (code) that supports targeting a JMS server
to a cluster.
The targeting problem can actually get fairly involved - for a variety of
reasons, I tend to recommend the following cookie cutter approach.
This is a cut-and-paste from my notes:
(1) Create a custom WL store on each server, and target it to a migratable
target (most of the time you can use the default migratable target that each
server provides).
(2) Target the JMS servers to a migratable target each, the same MT as the
store (don't worry, the JMS server won't wander to a different server
unless you configure the MT to allow this!)
(3) Target jms configuration system modules to the cluster (that's it! - not
to anything else)
(4) Create one subdeployment per module (and only one), populate the
subdeployment only with JMS servers from step (2) above.
(5) When targeting destinations always use advanced targeting to target
destinations to the subdeployment from above - not the 'default target'.
If you have both non-distributed and distributed destinations, use two
different JMS modules. (The idea is to keep things simple to understand -
each module should yield the same targeting solution for all of its
component resources. Default targetting can be problematic - it is far too
easy for destination members to end up on JMS servers that you don't want
them on.).
(6) When targeting a CF you have two options (A) use advanced targeting to
target it to the subdeployment (for access by applications that are remote
to the cluster) or (B) don't target it all (this will cause it to use the
module target, which if you recall, we just set to the cluster, (for access
by applications that run on a server within the cluster). The choice
actually depends on how you plan to use the CF - use (B) for apps running on
servers within the cluster, and (A) for apps running remote to the cluster.
See the otherwise-largely-outdated JMS Performance Guide for the reasoning.
It may be that you don't have to use migratable targets, as you may not have
a use for "migration" at the moment - but it'll help in the future if you
ever plan to use the migration features.
Tom -
JMS filestores creation for multi cluster through config wizard
Hi,
We are using multiple clusters in a domain through the config wizard. It looks like the config wizard as an limitation - It creates only jms stores for the managed servers in the first cluster but I dont see it. Is any other way to do this? I dont see any other information about this
Please help!
Thanks,Matt,
I'd say your suggestion to use the 1GB team as another cluster network is a good idea. No harm in adding additional communication paths to your cluster.
David A. Bermingham, MVP, Senior Technical Evangelist, SIOS Technology Corp -
Weblogic Service Migration - JMS Servers and JTA
We are having 2 node managed server Custer - active- active configuration. We are planning to use Weblogic Service Migration to migrate JMS servers and JTA in case of Failure to the available node in the cluster.
===> There is a problem in node1; Due to the failure of node1, JMS servers and JTA do get migrated to Node2.
===> Problem in node 1 is resolved and is available.
===> How to revert the migrated JMS servers and JTA back to node 1?
ThanksIf I have a 2-node cluster, that means I have to take an outage ? There is no elegant solution to this ?
Thank you !
Maybe you are looking for
-
Demo scenarios in SAP PI 7.1?
Hi All, is there any step by step explanation of demo interfaces provided by SAP. I need the link of the explanation of the interfaces as in detail. else please provide the how to guide link for specific interfaces in PI 7.1
-
Client certificate authentication with custom authorization for J2EE roles?
We have a Java application deployed on Sun Java Web Server 7.0u2 where we would like to secure it with client certificates, and a custom mapping of subject DNs onto J2EE roles (e.g., "visitor", "registered-user", "admin"). If we our web.xml includes:
-
Folder not appearing in My Folders in Organizer
In Elements 11, on import, my image files DO download to my computer but that folder DOES NOT appear under My Folders in the Organizer. Any suggestions?
-
Universes are not visible in InfoVIew
As a user cannot see the universes in InfoView. When selecting "New -> Web Intelligence Document" a page is displayed with a line that says "Universe". I click on it but nothing happens. What rights do the users need to be able to view universes and
-
Online Indexing in SQL Server 2005 in SAP
Hi SDN, I had a requirment where i need to create a index in SQLPLUS. please let me know the transaction code where we will create index in SAP with SQLPLUS. i need to create index with code like this. create index z03 on AFRU (fileds) online = ON. p