Do I need JMS?
I have this JSP page which contacts this bean to query from the database. The problem is the execution of the query will take a long time. So can I just keep posting to this web page at what part of the execution I am (I mean right after each iteration i could show them that I have completed this par or something like that). To do this do I need JMS, or can u guys suggest something better.
Thanks
One easy solution is to just set a META REFRESH for your JSP page, and the page can query the bean to see what state it is in, then display it to the user. Set the refresh for every 10-15 seconds.
Similar Messages
-
Desing input needed: JMS in cluster(s) for OSB
Hi
I have two admin servers prod A and prod B on two separate physical boxes.
prod A has managed servers MS1 and MS2. : Together they form cluster A
prod B has MS3 and MS4.: Together they form cluster B
Client forwards request to a loadbalancer which forwards request to either prod A or prod B based on load in environment.
Use case: I have to push some data in JMS queue on server. Client will call periodically and hit one OSB proxy service which basically gets data from queue and returns. Since I have two clusters thus I need to create two queues, one each on prod A and prod B. Now consider following scenario:
Client hits loadbalancer
loadbalancer forwards request to prod A. Queue on prod A was empty.
since I get empty response, I forward the same to prod B. Queue on prod B had data so returned it to client.
Here issue is I need to have communication between prod A and prod B. Also I need to implement manual fail over in case prod A or prod B is down.
My question is :-
Can more than one clusters, if they are not aware of each other (if they do - then together they form a single cluster if I am not wrong) share resources such as queues?
May be I am not clear or couple of concepts of mine are wrong...;-)
Please share your thoughts.
Thanks and Regards
Swapnil KharwadkarBarnes,
Thanks for such a nice explaination. Let me tell what i did ealier for my set up and what is the problem i have right now.
I deployed the application which is using the JMS in the single cluster environment which has 2 managed servers each from different physical servers.
I configured one connection factory with the preoper JNDI name and default delivery mode as non persistant and deployed the connection factorey on the cluster in which i deployed the application.
I configured one JMS server and deployed in one of the servers from the cluster with migratable method and persistant store as none.
I configured one destination under this created JMS server and replicated the JNDI name in the cluster.
The application can access the message from the queue on the server in which i deployed the JMS server, not from the other one, though i deployed the server with migratable service. This is the problem i cant access from the other server.
I am not sure what i am doing wrong or what made me wrong. Please help me out.
Jasmine -
Hi
I need to create a WebLogic JMS topic and read messages from it. Need a step-by-step tutorial, searched the web, no help. If any one knows a good tutorial on this, pl let me know. Even a tutorial on JMS Queues would help.
thanks
a sHere are the steps for you. If you need anymore help let me know.
Configure a JMS server.
2.1 AdminServer and dizzy1 are running.
2.2 Navigate to dizzyworld Services Messaging JMS Servers. Lock the
console.
2.3 Click New under the JMS Servers table and specify the following properties:
Name: dizzyworldJMSServer
Persistent Store: (none)
2.4 Click Next and target the JMS server to dizzy1 Managed Server. Click Finish.
2.5 Activate your changes.
Configure a JMS module and add a queue and a topic to the JMS module.
3.1 Navigate to dizzyworld Services Messaging JMS Modules. Lock the
console, if necessary.
3.2 Click New under the JMS Modules table and specify the following properties:
Name: dizzyworldModule
Descriptor File Name: dizzyworldModule
3.3 Click Next and target the module to the dizzy1 Managed Server. Click Next and
select the following:
Would you like to add resources to this JMS system module?
3.4 Click Finish.
3.5 In the Settings for dizzyworldModule page, click the Subdeployments tab. Under the
Subdeployments table, click New to create a subdeployment with the following
specifications:
Subdeployment Name: dizzy1SubDeployment
Click Next.
3.6 In the Targets page, select the dizzyworldJMSServer as the target under the
JMS Servers table. Click Finish.
3.7 Click the Configuration tab.
3.8 In the Settings for dizzyworldModule page under the Summary of Resources table,
click New to configure a new JMS queue for the JMS module.
3.9 In the Create a New JMS System Module Resource page under the heading of
Choose the type of resource you want to create, select Queue.
3.10 Click Next.
3.11 In the JMS Destination Properties, specify the following parameters:
Name: dizzyworldQueue
JNDI Name: dizzyworldQueue
Template: None
3.12 Click Next.
3.13 Click Advanced Targeting. Select dizzy1SubDeployment from the
subdeployments list. Click Finish.
3.14 In the Settings for dizzyworldModule page under the Summary of Resources table,
click New to configure a new JMS topic for the JMS module.
Contents Page 70 of 143
mhtml:file://C:\Documents and Settings\RTiwari\Desktop\Weblogic_9.2_LAB.mht 11/3/2008
3.15 In the Create a New JMS System Module Resource page under the heading of
Choose the type of resource you want to create, select Topic.
3.16 Click Next.
3.17 In the JMS Destination Properties, specify the following parameters:
Name: dizzyworldTopic
JNDI Name: dizzyworldTopic
Template: None
3.18 Click Next.
3.19 Click Advanced Targeting. Select dizzy1SubDeployment from the
subdeployments list. Click Finish.
3.20 Activate the changes.
You should be able to see JNDI entries on the dizzy1 managed server called
dizzyworldQueue and dizzyworldTopic.
Thanks
Togotutor
<b><a class="jive-link-external" href="http://www.togotutor.com">http://www.togotutor.com</a> (Learn Programming and Administration for Free)</b> -
I have situation where I need to talk to the legacy application (C++), which is running in a different host. How do I do that?
Based on reading all the documents and going thru various WL8.1 tutorials, I got an idea that I need to use JMS C API to accomplish that. Correct me if I am wrong, the request needs to sent to the JMS queue (using P2P), and have it picked up by the legacy appplication and put the results back on the queue, which will be picked up by the MDB EJB to process further on the WL8.1.
1. I am not sure about what is needed in the legacy application host (its a unix machine)?
2. If any of you could lay-out the logistics on what is needed in the server where have the WL8.1 running, and also on the legacy application host?Hi,
There are a variety of ways to talk to non-java applications. I've appended my notes on the topic.
If you choose to use the JMS C API (which is JNI based and so requires the JVM), there is no special configuration needed on the server side - just configure JMS connection factories/servers/stores/destinations as per usual.
If you choose to use the IIOP client (which is not JNI based and so doesn't need the JVM), you would used it to call an EJB (that you write yourself) that in turn calls into JMS. In addition you would need to set the server configuration to enable the "IIOP" protocol on the WebLogic server port the client uses.
Tom Barnes, BEA
Non-Java Integration Options
- WL JMS has a JNI based C client which is available for Windows and some UNIX platforms. This C client supports 7.0 and up, and will be officially packaged with WLS in 9.0 (virtually unchanged). The C API is currently only supported through the jms newsgroup. See "JMS C API", here:
http://dev2dev.bea.com/technologies/jms/index.jsp
- WL supports direct Windows COM access through its "JCOM" feature. This doesn't include the JMS API, but one can invoke EJBs which in turn invoke JMS. See
http://e-docs.bea.com/wls/docs61/jcom.html
http://e-docs.bea.com/wls/docs70/jcom/
http://e-docs.bea.com/wls/docs81/jcom/
- Similar to JCOM, but more advanced, WL supports IIOP standard based access on multiple platforms. You can use the BEA Tuxedo C client for this purpose (no license fee). This doesn't include the JMS API, but one can invoke EJBs which in turn invoke JMS. See
http://e-docs.bea.com/wls/docs81/rmi_iiop/
http://e-docs.bea.com/wls/docs70/rmi_iiop/
http://e-docs.bea.com/wls/docs61/rmi_iiop/
Unlike most other approaches, the IIOP client approach also allows the client to begin and commit user (JTA) transactions (not configured).
- If you already have a BEA Tuxedo license, one option is communicate through BEA Tuxedo (which has various APIs on Windows) and configure a WebLogic Server to respond to these requests via the WTC bridge. Search for "WTC" in the BEA docs. Unlike most other approaches, the Tuxedo API approach also allows the client to begin and commit user (JTA) transactions.
- Another approach is to interop via web-service standards. Or even to simply to invoke a servlet on the WL server using a basic HTTP call from the client. The servlets in turn can invoke the JMS API. There is a white-paper on "Interoperability Study of BEA WebLogic Workshop 8.1 and Microsoft .NET 1.1 Web Services", that demonstrates web-services here:
http://ftpna2.bea.com/pub/downloads/WebLogic-DotNet-Interop.pdf
- Yet another approach is to use a third party product that is designed to wrap any JMS vendor. There are even open source versions. In no particular order, here are some examples: Open3 WinJMS, CodeMesh, Active JMS, SpiritSoft
- Finally, there are .NET/C/C++ integration libraries that are not specific to JMS, some examples are JNBridge, Jace, and CodeMesh. -
Need JMS 2.0 compliant AQ api jar?
Hi,
I am trying to used JMS 2.0 api to connect to AQ. It seems the latest 12c aqapi.jar(12.1.0.1) is not JMS 2.0 compliant. Calling JMSContext apis are all blowing up. Any idea when we will have a JMS 2.0 compliant aqapi.jar ?
Thanks,
PBI am trying to used JMS 2.0 api to connect to AQ.
What does 'trying to use JMS 2.0' actually mean? Are you using Fusion Middleware for that? If you are using Fusion Middleware have you reviewed the Configuration Guide and followed the instructions examples in it?
http://docs.oracle.com/cd/E24329_01/web.1211/e24385/aq_jms.htm
Driver Support
WebLogic AQ JMS requires a JDBC driver to communicate with the Oracle database. Only the Oracle JDBC 11g thin driver, included in your WebLogic Server installation, is supported for this release. Oracle OCI JDBC Driver and non-Oracle JDBC Drivers are not supported.
Take note of that "Only the Oracle JDBC 11g thin driver' is supported statement.
It seems the latest 12c aqapi.jar(12.1.0.1) is not JMS 2.0 compliant. Calling JMSContext apis are all blowing up. Any idea when we will have a JMS 2.0 compliant aqapi.jar ?
What 'latest 12c aqapi.jar' are you talking about? The Oracle 12c database installs TWO different aqapi.jar files. Are you using one of those? If so which one? One is in $ORACLE_HOME/RDBMS/jlib and the other in $ORACLE_HOME/oc4j/rdbms/jlib. They are different versions, sizes and dates.
Other than that I doubt if anyone can provide any info for a 'help me I have a problem' question. Oracle never throws an exception with text that says 'all blowing up'.
You haven't posted:
1. Any code
2. Any session showing execution or results of that code -
hi,
i am new in jms.i want to know what s/w i need to run jms examples? had jdk1.3 and working with win98/nt. what i need to download for jms?
thanx.
sibuYou need jms.jar and jndi.jar and then you have to get a jms implementation somewhere. You may try with open source implementations like OpenJMS
http://www.exolab.org/
or with Open3
http://www.open3.org/home/home.po
-Raine- -
How to send JMS message from pl/SQL to jBoss
Hi all,
I need a helping. This is my problem:
There's a queue which is definitied under the Jboss. I would like send a message from pl/SQL to jBoss.
Why is't working??
http://www.oracle.com/technology/sample_code/tech/java/jsp/samples/jms/Readme.html
thnk's,
fgy,,You can defince a queue in Oracle, then access this queue from your Jboss application. Not sure if you need JMS, but there are some Oracle OCI functions that are certainly helpful for such a task.
You might look into further details be reading the manual on Oracle Advanced Queuing or Oracle Streams.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14257/part4.htm#i436427 -
JMS version 1.0.2 jar file wanted for accessing Oracle AQ
Hi,
I need a specific version of JMS i.e. "1.0.2"
J2ee_1.3.01.zip is not working for me I think it provides JMS1.1.
Actually, I am using Oracle AQ. This needs JMS 1.0.2 jar
If I use J2ee 1.3 or 1.4 code compiles fine in my eclipse environment but while running I get this exception:
xception in thread "main" java.lang.NoClassDefFoundError: javax/jms/TopicConnectionFactory
at oracle.jms.AQjmsFactory.getTopicConnectionFactory(AQjmsFactory.java:284)
at com.ameripath.aqjms.AQApplication.createJMS(AQApplication.java:171)
at com.ameripath.aqjms.AQApplication.createJMSClient(AQApplication.java:90)
Can somebody guide me where to find the JMS-1.0.2.jarHi Ramamory...
I am currently trying to access an Oracle AQ topic from "Sun Java System Application Server Platform Edition 9.0" using an example found at http://devtrends.oracle.com/code/activedb/ but I am facing the same problem you are reporting here. Please, can you give me any help about this topic and any other advice you have to make this work.
Regards
Jonathan -
Porting varray data from one db to another remote db using queues and jms
We are trying to port a varray from one db to another db using queues and java jms. The varray is embedded in an object type (necessary according to oracle docs). The varray, embed object, and the queues are identical between the 2 dbs. We have used the capabilities in jdeveloper to generate the necessary classes to access the embed object and its payload the varray.
However, when we attempt this:
public void publish( com.wgint.sql.EaiType payload )
throws JMSException, SQLException
Connection dbConnection = ((AQjmsSession)session).getDBConnection();
AdtMessage message = ((AQjmsSession)session).createAdtMessage();
message.setAdtPayload( payload );
( (AQjmsTopicPublisher) publisher ).publish( publisher.getTopic(),
message,
agents );
we get a ora-00902 error, invalid datatype. I cannot find a single example on technet or the internet in which someone has done something similar. I do not know if it is feasible or not.
SteveDo you really need JMS to do this? If not, just let the AQ layer propagate your messages from your local to your remote queue. See the online doc how to do this.
-
Hi Tom,
Thanks a lot for the reply ,actually customer has a deadline ,earlier they were
using JMS C api for windows for using WebLogic JMS ,now they are moving to Linux
,so they need JMS C api urgently.
Please help me ,if possible try to escalate it.
Again,thanks a lot.
regards,
Subodh
I've been told that customers should place this request
directly through BEA customer support, and have them
them forward it to Frazier Miller (BEA's product
manager for JMS). Since you are a BEA employee,
you should actually place the request directly with
Frazier (as we discussed off-line).
Subodh KUmar wrote:
> Hi Tom,
>
> Thanks a lot for the reply ,actually customer has a deadline ,earlier they were
> using JMS C api for windows for using WebLogic JMS ,now they are moving to Linux
> ,so they need JMS C api urgently.
>
> Please help me ,if possible try to escalate it.
>
> Again,thanks a lot.
>
> regards,
> Subodh
>
>
-
Hi,
I need the JMS C API for Linux to connect to WLS(WebLogic Server).
Please let me know whether it is available for linux or not.
Thanking you in anticipation.
regards,
Subodh
Hi Tom,
Thanks a lot for the reply ,actually customer has a deadline ,earlier they were
using JMS C api for windows for using WebLogic JMS ,now they are moving to Linux
,so they need JMS C api urgently.
Please help me ,if possible try to escalate it.
Again,thanks a lot.
regards,
Subodh
Tom Barnes <[email protected]> wrote:
>Also note that there are several ways to contact
>WL from C without using JMS.
>
>Subodh Kumar wrote:
>> Hi,
>>
>> I need the JMS C API for Linux to connect to WLS(WebLogic Server).
>>
>> Please let me know whether it is available for linux or not.
>>
>> Thanking you in anticipation.
>>
>> regards,
>> Subodh
>>
>>
>
-
JMS/clustering design and configuration question
Hi:
Any help or feedback much appreciated cos' this topic (no pun intended)
seems to be complicated.
I have an application that uses stateless session beans for mainline
business functionality (heavy database writing) that is say then
audited. The auditing is taken care of asynchronously by the SS bean's
business method (after completing whatever it is doing) using a JMS
connection factory to write to a queue which is consumed by a MDB. So,
control is returned to the user ostensibly before the auditing is done
for performance reasons. No transactional semantics are expected between
the mainline business logic and the audit of same. So, our main use of
JMS/MDB is for asynchrous operation. This design seems to be fine on a
single server as long as a persistent store is configured.
Now the hard part. We need to cluster - again for load-balancing and
performance. As I've read thru this newsgroup and experimented some,
I've quickly realized that it's not as simple as just configuring a
cluster of just EJBs.
Since the queues are basically used for asynch processing, would the
following work?
1) Set up a JMS server config for each WL server in the cluster targeted
only for each WL server
2) Set up a different queue for each JMS server with prefixed JNDI name
(myserver1_someJNDIname)
3) Configure/code the producer SS EJBs so that they ask the connection
factory for a connection with a prefixed JNDI name (e.g
myserver1_someJNDIname) based on the server they are running on (known
perhaps from a property file local to each server)
4) Target MDBs to be deployed on all servers in the cluster just like
regular EJBs
5) Finally, deploy the MDBs unjarred on each WL server and edit the
weblogic-ejb-jar.xml on each server to set the -destination name-
prefixed by the server on which it is deployed (e.g.
myserver1_someJNDIname)
Will the above basically accomplish what I'm after, which is a cluster
of machines each equally capable of locally offloading asynchronous
processing? I understand that for the most part WL server will use local
EJBs, etc if they are available. I'm not particularly interested in
failover at either EJB or JMS level, but rather HttpSession level so
that if a WL server goes down another could pick up perhaps by by the
user re-requesting whatever operation failed.
If this is not possible because of the way clustering works (homogenous)
then is there some other way to solve this problem. I basically do not
want a cluster where there is a single point of failure (other than DB
server) for any given piece of functionality.
Thanks for any help.
Alex
First and easiest,
Just create a set of JMS tables for each server in your db. You can specify
a JMS tablename prefix in your weblogic properties for eash server using
weblogic.jms.tableNamePrefix=W5
as long as the prefix is only two chars. This worked great for us until we
decided to drop JMS because of its memory leaks. We were having to restart
our servers every 8 hours.
Second, get rid of JMS. Dirty little secret:You don't need JMS to do
asynchronous work! You can use threads inside of J2EE and not break J2EE.
Can't tell you how for proprietary reasons but you can.
Mica Cooper
-
When we should use JMS based proxy services and when JMS Adapter in OSB
Hi,
Can somebody explain me when we could go for JMS Adapter and when we should go for JMS based service in OSB?
The one scenerio i can think of is when my provider/consumer is using jms provider other than WLS jms provider we should use jms adapter.
Edited by: user12883209 on Jan 5, 2012 5:29 AMI don't think there are clear guidelines available, however here is my view.
1) OSB 11gR1 is not certified with Oracle JMS Adapter. It is certified with Oracle FTP, Database, AQ and application adapters.
http://docs.oracle.com/cd/E21764_01/doc.1111/e15867/interop.htm#OSBAG1403
2) In addition of the Weblogic JMS, OSB can also integrate with following provider without using adapter.
- WebSphere MQ
- Tibco EMS
3) if you need to integrate JMS with BPEL Process or Oracle SOA suite composite, it has built in support for generic Oracle JMS adapter. Oracle generic JMS adapter can integrate with AQ JMS (JMS providers OJMS 8.1.7, 9.0.1.4, and 9.2), TIBCO JMS, IBM Websphere MQSeries (IBM MQSeries JMS 6.0), Weblogic JMS, Apache, and Active MQ
http://docs.oracle.com/cd/E14571_01/integration.1111/e10231/adptr_jms.htm
4) If you need to integrate OSB with Weblogic JMS, WebSphere MQ, Tbco EMS it does not need JMS adapter.
Hope this helps !!!
Jayesh Patel
http://jayesh-patel.blogspot.com/
http://www.yagnasys.com/ -
JMS in Swing Application ?
Hi All,
I have one scanning application.In which i will scan images and do some processing as per my need.But the scanner which i am using is very fast in scanning pages having speed is 80 pages per minutes.As scanner scan paper application start new thread which will take image and process it. Number of thread increase as the scanner scan images because of time take for processing is more (in fraction of seconds).
So tackle this problem i have decide to use some kind on message queue like MSMQ in microsoft.I got suggestion that there is JMS in java.I don't know much about JMS.My question is,
Is we can implement JMS in my Swing Application?
If yes,then how can we (please some idea)?
Please It's very urgent for my project.Please Give some idea?
Thanks in Advance
AP_javaassuming that all the work you need to do is in the same process, you do not need JMS. instead, you want to use a thread pool. JMS is only necessary if you are sending messages between different processes.
basically, just create a thread pool with a max number of threads, and submit a job to it for each image. -
HI friends. i am doing file 2 jms scenario. in that during configuration part i need jms receiver details. i have IBM MQ in my system . can anybody help me hw to create a queue queue name, channel name, port number etc.
Hi,
U need to create quque on MQ server. ask the administrator to create the queues. he will provide all the necessary details which is required for configuration.
Please go through the following links.....
/people/sudheer.babu2/blog/2007/01/18/asyncsync-communication-using-jms-adapter-without-bpm-sp-19
/people/venkataramanan.parameswaran/blog/2007/01/18/syncasync-communication-in-jms-adapter-without-bpm-sp19
First would be to deploy drivers for JMS scenarios - https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10
Secondly, to configure JMS adapters;
http://help.sap.com/saphelp_nw04/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/content.htm
In case JMS scenario that you have is a sync one, in that case if you are below SP19 you might have to build a BPM - ref: http://help.sap.com/saphelp_nw04/helpdata/en/83/d2a84028c9e469e10000000a1550b0/content.htm
Else ref:
/people/sudheer.babu2/blog/2007/01/18/asyncsync-communication-using-jms-adapter-without-bpm-sp-19
/people/venkataramanan.parameswaran/blog/2007/01/18/syncasync-communication-in-jms-adapter-without-bpm-sp19
How to correlate JMS messages - https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
How to use conversion modules in JMS - https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
thnx
chirag
Maybe you are looking for
-
Hi, I bought a new pair of iPod headphones just over two months ago from an HMV store, and in the last few days, one of the headphones has stopped working altogether. Unfortunately, I no longer have the receipt for the headphones, but I do have the i
-
"Customer" BAPI in Distribution Model for Training and Events
We have an HR box with Training and Events - When booking an attendee on a course, you can select the "contact person" tab. Our SD box is separate from HR, so all the contact persons are maintained there. Is it possible to use the "Customer" BAPI in
-
Portal Groups vs. ABAP Roles
Hi, We have the following scenario: SAP EP (6.0 SP19) with content from BW and HR (ESS&MSS). The backend systems and the portal use CUA. The problem is that for example when a new user(employee) is created in HR, we would like that the user automatic
-
Hi, I have a problem here. I am analyzing an existing program. This is an active prg in Production. In that I see usage of an internal table called 'itab1'. On double clicking on it (to find it's data declaration) it takes no-where. It asks if I woul
-
In Elements 5 I can no longer drop down menu for Blending modes
Hi Something has broken my Elements 5 or is it me? I load a Jpeg make a copy, click on copy layer the blending mode writing goes from greyed out to normal. If I now click on the blending mode menu to drop it down or darken it so I can use the up/down