About jms c api!!!
I have passed the debug of the jmscapi sample , but it seems that it cannot set
the message listener ! After noting the function called "JmsConsumerSetMessageListener"
, the sample can send message! the reason must be the function , it cannot transfer
the callback called "MessageListener" .
Has somebody met the problem?
help me !
That should have fixed the problem. Can you tell me in detail what the
actual problem is? Also, could you turn on JMSDEBUG=y in the environment
and see if that produces better output? (You should get a file name userlog
or something like that which will contain more information). Thanks
John Wells (Aziz)
[email protected]
"lacquer" <[email protected]> wrote in message
news:[email protected]..
>
> > still some questions : there are only one class file named
JMSCHandler.class
> in the sample , and i dreg it into the weblogic.jar (is that right??)
.but
> it does not work. can you tell me in detail!
> > any way , is there anthor version jmscapi sample? mine is released in
2002 by
> BEA Systems!
Similar Messages
-
How can I delete the TemporaryTopic using JMS C API or VC++
Hello everybody,
how can I delete the TemporaryTopic after created TemporaryTopic using JMS C API "JmsSessionCreateTemporaryTopic"?
I checked the document about JMS C API, but I couldn't find any API for delete TemporaryTopic, it's really not existing?
Or if there's any other way that I can delete TemporaryTopic using VC++? Any comments will be appreciated.
Thanks for your help!
Youbing heAs far as I can tell, there's no C-API option for deleting a temporary topic other than to close the connection used to create the temporary topic. Note that it is inefficient to frequently create and destroy temporary topics.
You can get pretty much equivalent performance and functionality with a shared regular topic, non-durable subscriptions, and selectors that take advantage of the "indexed subscriber" optimization. (Consumers specify a selector that is unique to them in the exact form of "MyUniqueID NOT NULL", while publishers send to a specific consumer by adding "MyUniqueID" as a message property. The "X NOT NULL" selector format activates the indexed subscriber optimization.)
Tom
Edited by: TomB on Apr 27, 2010 10:44 AM -
hi all,
sir i m new about jms api i m working on sturts frame work and i want to now how we use jms.
Edited by: nky on Jun 17, 2008 11:20 PM1) Read FAQ
http://java.sun.com/products/jms/faq.html
2) Download JMS implementation (http://activemq.apache.org/) or J2EE server (like sun one / weblogic etc)
Write JMS code for server side & client side classses & deploy them in your favorite JMS server. -
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. -
Problem JMS-c api for message Acknowledgement
Hi,
I am working in a project that uses bea-JMS C api for
Communictions.In my project i am using topic messaging for message reciving and sending..Here i am using durablesubscriber for receiving and client Acknowledgement to Acknowledge the message.
In receiving function I store the message in another JmsMessage for Client-Acknowledgement.
Here comes one problem that, while i Acknowledge on the receive function each and every message Acknowledge correctly.But while i Acknowledge that message from some other function it return -1 as , that it cannot Acknowledge.The other function is working in another thread.
Wheather the seprate thread will make the problem for confirmation.Similar to JDBC connections, JMS sessions and their related child producers and consumers are not thread-safe (with the one exception of the session.close() method).
For example, without added application level locking, its not safe to acknowledge a message from one thread while another thread receives or produces a message. This has special implications for asynchronous consumers, as once the asynchronous consumer is created, access to the session and objects is limited to code within the "onMessage()" and "onException()" callbacks.
This behavior is detailed in the JMS specification.
Tom -
How to access jms queue of weblogic server from c/c++ application.Can any one provide example for this.I have tried to download jmscapi from
http://dev2dev.bea.com/resourcelibrary/utilitiestools/environment.jsp#jmscapi
but the page is not available.
Details:-
WLS: Weblogic server 10.x
Linux / Windows XP OS
VC++ 2008
++JMS server on WebLogic server 10.x
OSB 10g R3
Please provide where it can be downloaded or if any one can share it.Any help regarding this would be appreciated.For 8.1, the unofficial dev2dev JMS C-API download is all that I know of. There's also now an official version now packaged with 9.0. Since the official 9.0 version is very close to the unofficial version, I imagine it would work - and would be a bit more up-to-date. But while I'm fairly sure that BEA "officially" supports using the official 9.0 version with a 9.0 client to communicate with 8.1, I don't know if BEA would support using the 9.0 version with an 8.1 client.
I recommend contacting BEA through channels to get the full story (either through sales or support).
Tom -
Hi Mates ,
I am trying to use the JMS C API to invoke a JMS queue from a stand alone C code in SOLARIS SPARC 10 . The Weblogic version is 10.0 patch 2 .
I am not able to compile the program . I am using the following command to compile
CLASSPATH=/weblogic/bea/wlserver_10.0/server/lib/weblogic.jar
export CLASSPATH
LD_LIBRARY_PATH=/weblogic1/bea/wlserver_10.0/server/native/solaris/sparc:/usr/java/jre/lib/sparc/server/.
export LD_LIBRARY_PATH
cc -I/weblogic1/bea/wlserver_10.0/server/include -L/usr/lib -L/weblogic1/bea/wlserver_10.0/server/native/solaris/sparc -L/usr/java/jre/lib/sparc/server -ljmsc -ljvm -lpthread -o JMSClient JMSClient.c
I am getting the following error
Undefined first referenced
symbol in file
sched_yield /weblogic1/bea/wlserver_10.0/server/native/solaris/sparc/libjmsc.so
ld: fatal: Symbol referencing errors. No output written to JMSClient
What could be the issue .
Your help in this will be very useful to me .
Regards
Dinesh
Edited by: user12039447 on Nov 16, 2009 4:10 AM
Edited by: user12039447 on Nov 16, 2009 4:19 AMIt was caused by the 2nd threads' classloader.
The 2nd thread uses the bootstrap classloader by default when attached to jvm, which loads the 'core' java classes only, not even extended classes.
<p>
This cause JNDI factory initialization failed.
<p>
The solution is to set the 2nd thread's context loader as the system class loader using JNI. See java.lang.Thread#setContextLoader and java.lang.ClassLoader#getSystemClassLoader. -
Help!! I need information about Siemens' PIM API
Hi everybody,
I am looking for any information about Siemens API to allow PIM access from a midlet. I did not manage to find specifications about that API on the web...
Are specifications free ? Is there an environment to develop J2ME applications using Siemens PIM API ? Has anybody developed this type of application on this forum ?
Thank you very much,
Dan OuakiI have heard many times about Siemens' PIM API, J2ME compatible, I have read a couple of articles about it (french article www.01net.com/article/181502.html for instance)
But I have never seen anything about it on Siemens developer portal (Java Wireless, Game API, JSR120, JSR135 are the only non-JTWI supported technologies).
Is Siemens PIM API a hoax ? -
Is WebLogic JMS C API backwards compatible with 8.1
I need to be able to send a JMS message from a C++ legacy application, so I am looking at using the JMS C API to do this. However, I am stuck with using WebLogic Server version 8.1. The JMS C API came out with version 9, so I am wondering if it would be possible to use it with 8.1?
Can this be done? Thanks in advance.I've shot off an internal email to see if I can get an answer - I'll post again if I get one. Some notes:
- Prior to 9.0, there was a separate C-API kit available on dev2dev which is supported (via this newsgroup only), I don't know where it is now.
- I think its likely the 9.0 C-API will work with an 8.1 client (or 7.0 for that matter), I just don't know if this usage supported.
- You could use the 9.2 C-API with a 9.2 client to communicate with an 8.1 server. This is definitely supported.
Tom, BEA -
Hello,
I am having some problems using the JMS C api. The
call to JmsContextCreate is failing with a -3;
JMS_JVM_ERROR. The url, username, and password are
correct and I am passing NULL for the jndiFactory
to use the deafult Weblogic server context factory
of "weblogic.jndi.WLInitialContextFactory".
Setup:
Solaris 8, Weblogic 8.1 sp1, jdk_141_03, c/c++ client
using the Studio8 compiler with other third party libraries,
and the JMS C api obtained from:
http://ftpna2.bea.com/pub/downloads/jmscapi.ZIP
The c/c++ client compiles, links, and runs. The
CLASSPATH and JAVA_HOME environment variables
have been set accordingly with the JMS C api
classes directory added to the CLASSPATH.
I have compiled the c/c++ client with the JMSDEBUG
defined and it produces the following to stdout/stderr:
There was an error trying to initialize the HPI library.
Please check your installation, HotSpot does not work correctly
when installed in the JDK 1.2 Solaris Production Release, or
with any JDK 1.1.x release.
Also the c/c++ client produces another log file
called "ULOG.pid". Inside this log contains the
following:
085910.fusion!?proc.23074.12.-2: 12-01-2003: Weblogic Server Version 7.1
085910.fusion!?proc.23074.12.-2: LIBJMSC_CAT:15: NLS:6: Message not found, catal
og LIBJMSC_CAT, set 1, num 15
It looks like the libjmsc.so library, that is part of
the jmscapi.ZIP file, is conpiled against an older version
of jdk and Weblogic. Is there a newer version of the jmscapi.ZIP
package compiled against a new version of jdk and Weblogic?
Or is there something going wrong.
Thanks,
Keith
It was caused by the 2nd threads' classloader.
The 2nd thread uses the bootstrap classloader by default when attached to jvm, which loads the 'core' java classes only, not even extended classes.
<p>
This cause JNDI factory initialization failed.
<p>
The solution is to set the 2nd thread's context loader as the system class loader using JNI. See java.lang.Thread#setContextLoader and java.lang.ClassLoader#getSystemClassLoader. -
JMS C API - Retention Of Non-Acknowledged Messages
I am sending messages via the JMS C API from a session created using CLIENT_ACKNOWLEDGE option in JmsConnectionCreateSession() call. Yet, if I receive a message and do not acknowledge it, then I shut down and bring back up my app, the message is not there.
Shouldn't it be there on startup of app? Is there a special API call to retrieve messages that weren't acknowledeged?
Thanks.
MosheI got it to work, i had to reorder the path directories.. which is kind of strange!
here is how i sat up the environment to get the C API to work based on : "JmsContextCreate" return -3 (JMS_JVM_ERROR)
CLASSPATH:
<somepath>\lib\weblogic.jar
NLSPATH:
<somepath>\lib
PATH:
<somepath>\lib; // : jmsc.lib, LIBJMSC_CAT, weblogic.jar or wlfullclient.jar
<somepath>\bin // : jmsc.dll
C:\Oracle\Middleware\weblogic92\common\lib // : jni.dll
C:\Oracle\Middleware\jdk160_18\jre\bin; // : java.exe++
C:\Oracle\Middleware\jdk160_18\jre\bin\client; // : jvm.dll
Directories in ENV->PATH should be ordered like this:
1. <somepath>\lib; // : jmsc.lib, LIBJMSC_CAT, weblogic.jar or wlfullclient.jar
2. <somepath>\bin; // : jmsc.dll
3. C:\Oracle\Middleware\weblogic92\common\lib;
4. C:\Oracle\Middleware\jdk160_18\jre\bin;
5. C:\Oracle\Middleware\jdk160_18\jre\bin\client; -
JMS c API !! Process receiving SIGTERM ?
Hi
Im using JMS C api and writing a program.
It is multi process system and IM receiving SIGTERM from nowhere.
and my processes are aborting.
I have my own handler for sigterm.
Is Jms or any related component is using SIGTERM internally for any purpose (while disconnecting I think ) ???
Plz Help me out ??
ThanksI'm not a C expert but scanning the code for SIGTERM or signal doesn't bring up anything.
Tom -
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 to uptate a software build using JMS C API for weblogic 8.1 sp2 to sp4 .there is any new jms c api for this? how can i download it?
ix exist, what are the changes?? thanksFor 8.1, the unofficial dev2dev JMS C-API download is all that I know of. There's also now an official version now packaged with 9.0. Since the official 9.0 version is very close to the unofficial version, I imagine it would work - and would be a bit more up-to-date. But while I'm fairly sure that BEA "officially" supports using the official 9.0 version with a 9.0 client to communicate with 8.1, I don't know if BEA would support using the 9.0 version with an 8.1 client.
I recommend contacting BEA through channels to get the full story (either through sales or support).
Tom -
Hi,
Is there a version for JMS C API for AIX ? Where can I find it ?
Thanks,
Ziv
If your willing to use an untested binary, I suppose you
might be able to get BEA to compile one for you (the
majority of work in a new platform port is often just making sure
that it passes all tests, even if, as is often happens,
there is a 100% pass rate.) Again, I recommend making
sure you make a request through customer support and
make sure that JMS product manager Frazier Miller sees it.
z wrote:
> Our project is maintaining few platforms: HP, Solaris, AIX, etc ...
> Can we have the source of the C API implementation, so we would build it in any
> requested
> platform ?
>
> Tom Barnes <[email protected]> wrote:
>
>>No, just HP, Solaris, and Windows - with official
>>support (and more platforms) coming in the next
>>release. If you want an AIX version now, you
>>can contact customer support and file an enhancement
>>request. This request should then be forwarded to
>>the product manager for the JMS C API (Frazier Miller).
>>
>>As a work-around for C on AIX you can use rmi-iiop and
>>a C-based IIOP client - post to the rmi-iiop
>>newsgroup for details. There are other work-arounds as well.
>>
>>z wrote:
>>
>>
>>>Hi,
>>>
>>>Is there a version for JMS C API for AIX ? Where can I find it ?
>>>
>>>Thanks,
>>>Ziv
>>>
>>>
>>>
>>
>
Maybe you are looking for
-
I'm just tired of waiting on this inept device and it's underserved iTunes counterpart being unable to deliver enough bandwidth to load a show within a reasonable amount of time. I'm a big Apple fan and an equally big critic. This whole rig is a bi
-
Black screen with blinking cursor when installing win 7/vista x64 osx 10.6
i am using bootcamp 3 to install windows 7/vista x64 on osx 10.6.6.when i select install mac reboots and then all i get is a black screen with white cursor. i have created a 20gb partition with disk utility in fat32 and i had installed windows succes
-
How to power up my g5....?
so ive had my g5 for some time now and i still run on 10.3.9 and have all stock ram etc... RAM i have 256g and i have a dual power pc..you have no idea how annoying it is for my computer to catch up with me. i really need to power up my computer..i a
-
JS CS2 - Setting Up An XML Feed
Hi all, I'm not really sure if this is the right forum for this topic or not but would appreciate any help I can get. What I am hoping to achieve is to display user entry field on a webpage based on the tags that exist on an Indesign document. For ex
-
I have following jsp page in struts. if you see, this page has four editable textfields and one submit button. when i edit four textfiled values and then try to press submit, I want to submit these four textfiled values to a stored procedure which up