Maximum JMS Connections
Hi,
I would like to know what is the maximum JMS connections weblogic server can
handle anytime. And where do we set this parameter? we have a group of Message
Listeners listening to a Queue on weblogic by opening JMS connections at the same
time. So I was wondering how many JMS clients can Weblogic handle?? And also does
it impact the performance of weblgic server.
Thanx,
Sankas
Thanks for the information guys. It was very helful.
-Sankas
Tom Barnes <[email protected]> wrote:
>Each remote JVM to the WL server multiplexes network calls over a single
>socket
>connection, and each remote JVM may have many JMSConnections into the
>WL server. A
>single server can support thousands of remote JVMs, and tens of thousands
>of
>JMSConnections -- even with the default thread-pool sizes. Clustering
>and
>distributed destinations can help one scale higher. Of course, performance
>and
>scalability are highly application and hardware dependent, and the best
>thing to do
>is create a benchmark that emulates your particular apps characteristics
>and see
>how it scales...
>
>Tom, BEA
>
>Sankas wrote:
>
>> Shean,
>> I did not have anything in mind. But if you see the weblogic console
>there
>> is a default parameter "JMS Thread Pool Size = 15" under the Server
>section in
>> the services/JMS Tab .
>> I thought this was the JMSConnections count in the server.
>> Well I think it would be good to know how far can we go
>> with the JMS connections thing.
>>
>> Thanx,
>> Sankas
>>
>> "Shean-Guang Chang" <[email protected]> wrote:
>> > It will depend on the memory resource you used for the JVM (both
>WLS
>> >server
>> >and client). There is no design limit for this. Do you have a number
>> >in
>> >mind?
>> >"Sankas" <[email protected]> wrote in message
>> >news:[email protected]...
>> >>
>> >> Hi,
>> >> I would like to know what is the maximum JMS connections weblogic
>> >server can
>> >> handle anytime. And where do we set this parameter? we have a group
>> >of
>> >Message
>> >> Listeners listening to a Queue on weblogic by opening JMS connections
>> >at
>> >the same
>> >> time. So I was wondering how many JMS clients can Weblogic handle??
>> >And
>> >also does
>> >> it impact the performance of weblgic server.
>> >>
>> >> Thanx,
>> >> Sankas
>> >
>> >
>
Similar Messages
-
Cannot create more JMS connection
Hi,
I got the following error:
WARNING: RAR5117 : Failed to obtain/create connection from connection pool [ jms/batchExecutorMDBConnectionFactoryPool ]. Reason : com.sun.appserv.connectors.internal.api.PoolingException: In-use connections equal max-pool-size and expired max-wait-time. Cannot allocate more connections.I have cleared all messages in the queue, redeployed my application. But somehow the connections still existed in the connection pool and therefore i always see this error appearing whenever i re-launch my application.
I created JMS connection locally and close it immediately after sending message as suggested out there to avoid connection leaking.
Could you help me how to clear all connections in order to re-run my application. Then slowly i can find out where the connection leaking is?
I am using glassfish 3.1.2 with the setting 500 maximum connection in the jms connection factory
thanks,
-CMCardM wrote:
Could you help me how to clear all connections in order to re-run my application. Then slowly i can find out where the connection leaking is?
I am using glassfish 3.1.2 with the setting 500 maximum connection in the jms connection factoryErrr, reboot the server?
Glassfish questions should go in the glassfish forum: http://www.java.net/forums/glassfish/glassfish -
Configuring JMS Connection Pooling
Hi there,
as far as I understand, if I use a resource-ref when declaring a JMS connection factory, pooling connections, sessions, and producers is automatically enabled. Is there any way for fine-tuning the way this pool works, e.g. configuring minimum/maximum pool sizes?
We are using WLS 9.2 MP 1, using WebSphere MQ as remote JMS provider (with com.ibm.mq.jms.MQXAQueueConnectionFactory as factory implementation).
Best regards
MartinHi Tom,
thanks for your answer. Assuming that the BEA connection pooling works fine, there is still the IBM ConnectionFactory implementation that provides its own connection pooling.
Do you know a way to configure this part? I only see the Java API of this class when registering it in the JNDI tree, and it provides no access to connection pooling settings.
Best regards
Martin -
Problem with transacted JMS connection factory and transaction timeouts
We encountered an interesting problem using transacted JMS connection factories.
An EJB starts a container managed transaction and tries to validate a credit card
before creating some information to a database for the user, in case of success
an SMS is sent to the user via the transacted JMS queue. If the credit card authentications
duration is about the same as the transactions timeout (in this case the default
30 seconds) sometimes the database inserts is committed but the JMS insert is
rollbacked. How can this be?
If the authorization duration is much longer than 30 seconds everything works
fine (both database and JMS inserts rollbacked), the same is true if a rollback
is insured by calling EJBContext.setRollbackOnly(). The problem thus occurs only
if the duration is approximately the same as the transaction timeout, it appears
that the database insert is not timeouted but the JMS insert is. How can this
be if they are both participating in the same transaction.
The JMSConnectionFactory used is a Connection factory with XA-enabled. The result
is the same also with the default "javax.jms.QueueConnectionFactory" and if we
configure our own factory with user transactions enabled.
Any help appreciated!
Tomas Granö wrote:
> We encountered an interesting problem using transacted JMS connection factories.
> An EJB starts a container managed transaction and tries to validate a credit card
> before creating some information to a database for the user, in case of success
> an SMS is sent to the user via the transacted JMS queue. If the credit card authentications
> duration is about the same as the transactions timeout (in this case the default
> 30 seconds) sometimes the database inserts is committed but the JMS insert is
> rollbacked. How can this be?
It should not be.
>
> If the authorization duration is much longer than 30 seconds everything works
> fine (both database and JMS inserts rollbacked), the same is true if a rollback
> is insured by calling EJBContext.setRollbackOnly(). The problem thus occurs only
> if the duration is approximately the same as the transaction timeout, it appears
> that the database insert is not timeouted but the JMS insert is. How can this
> be if they are both participating in the same transaction.
>
> The JMSConnectionFactory used is a Connection factory with XA-enabled. The result
> is the same also with the default "javax.jms.QueueConnectionFactory" and if we
> configure our own factory with user transactions enabled.
>
> Any help appreciated!
Make sure that your session is not "transacted". In other words,
the first parameter to createSession() must be false. There is an
unfortunate name re-use here. If a session is "transacted", it
maintains an independent "inner transaction" independent of the
outer transaction. From the above description, it seems unlikely
that your application has this wrong, as you say that
"setRollbackOnly" works - but please check anyway.
Make sure that you are using a true XA capable driver and database
(XA "emulation" may not suffice)
Beyond the above, I do not see what can be going wrong. You
may want to try posting to the transactions and jdbc newsgroups. Note
that JMS is appears to be exhibiting the correct behavior, but the
JDBC operation is not. The JDBC operation appears to have
its timeout independent of the transaction monitor's timeout.
Tom
-
I am not able to create a JMS connection from a custom component in UCM
I am trying to create a custom component which makes a JMS connection and inserts messages in JMS Queue.
THe JMS server is hosted on Weblogic Application Server.
When the code runs I am getting the factory object and the queue object.
But when I try to get a connection it throws an error as pasted below.
WHen I googled the same error It has shown a simliar problem in TOmcat in sun thread
It said two jar files xerces.jar and xml-apis.jar are obsolete.
I replaced with the new version.
still the same problem occurred
Please help
Pasting the code and exception here
Code __________________________________________
import java.util.Date;
import java.util.Hashtable;
import javax.jms.*;
import javax.naming.*;
import weblogic.jms.client.WLConnectionImpl;
import weblogic.jms.extensions.*;
import javax.rmi.PortableRemoteObject;
public class SimpleProducer {
public static void drive() {
final int NUM_MSGS;
NUM_MSGS = 93;
Context jndiContext = null;
Hashtable<String, String> ht;
ht = new Hashtable<String, String>();
ht.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, "t3://punitp52975d:7001");
try {
jndiContext = new InitialContext(ht);
} catch (NamingException e) {
System.out.println("Could not create JNDI API context: " +
e.toString());
System.exit(1);
ConnectionFactory connectionFactory = null;
Destination dest = null;
try {
Object home = jndiContext.lookup("CNFT"); // where iiopTestDS is jndi name for my DataSource.
connectionFactory =(ConnectionFactory)PortableRemoteObject.narrow(home , ConnectionFactory.class);
Object home1 = jndiContext.lookup("QUEUE2"); // where iiopTestDS is jndi name for my DataSource.
dest =(Destination)PortableRemoteObject.narrow(home1 , Destination.class);
/*connectionFactory = (ConnectionFactory) jndiContext.lookup(
"CNFT");
dest = (Destination) jndiContext.lookup("QUEUE2");
System.out.println("connectionFactory,dest "+connectionFactory+dest);*/
} catch (Exception e) {
System.out.println("JNDI API lookup failed: " + e.toString());
e.printStackTrace();
System.exit(1);
//WLConnectionImpl connection = null;
WLConnection connection = null;
WLMessageProducer producer = null;
try {
System.out.println("Getting Connection "+(WLConnection) connectionFactory.createConnection());
//connection = (WLConnection) connectionFactory.createConnection();
System.out.println("Connection created");
WLSession session =
(WLSession) connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
producer = (WLMessageProducer) session.createProducer(dest);
WLMessage message = (WLMessage) session.createTextMessage();
//TextMessage message = session.createTextMessage();
for (int i = 91; i < NUM_MSGS; i++) {
((TextMessage) message).setText("This is message " + (i + 1));
Long l = new Date().getTime();
message.setLongProperty("ReleasedDate",l );
System.out.println("Sending message: " + ((TextMessage) message).getText());
producer.send(message);
producer.send(session.createMessage());
} catch (Exception e) {
System.out.println("Exception occurred: " + e.toString());
} catch (Throwable et) {
System.out.println("Exception occurred: " + et.toString());
et.printStackTrace();
finally {
if (connection != null) {
try {
connection.close();
} catch (Exception e) {
System.out.println("*************Instantiating Producer***************");
Exception_________________________________________________________________
Exception occurred: java.lang.NoSuchMethodError: javax.xml.parsers.SAXParserFactory.getSchema()Ljavax/xml/validation/Schema;
java.lang.NoSuchMethodError: javax.xml.parsers.SAXParserFactory.getSchema()Ljavax/xml/validation/Schema;
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.<init>(SAXParserImpl.java:124)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl.newSAXParserImpl(SAXParserFactoryImpl.java:115)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:143)
at weblogic.xml.jaxp.WebLogicSAXParserFactory.<init>(WebLogicSAXParserFactory.java:62)
at weblogic.rmi.internal.wls.WLSRMIEnvironment.getSAXParser(WLSRMIEnvironment.java:136)
at weblogic.rmi.internal.DescriptorManager.getDescriptorAsMap(DescriptorManager.java:170)
at weblogic.rmi.internal.DescriptorManager.getDescriptorAsMap(DescriptorManager.java:159)
at weblogic.rmi.internal.DescriptorManager.createRuntimeDescriptor(DescriptorManager.java:104)
at weblogic.rmi.internal.DescriptorManager.getBasicRuntimeDescriptor(DescriptorManager.java:85)
at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:51)
at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:37)
at weblogic.rmi.internal.OIDManager.makeServerReference(OIDManager.java:194)
at weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:175)
at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceRemote(RemoteObjectReplacer.java:120)
at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceObject(RemoteObjectReplacer.java:103)
at weblogic.rmi.extensions.server.ServerHelper.exportObject(ServerHelper.java:223)
at weblogic.rmi.internal.OIDManager.initializeDGCServer(OIDManager.java:231)
at weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:144)
at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceRemote(RemoteObjectReplacer.java:120)
at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceObject(RemoteObjectReplacer.java:103)
at weblogic.rmi.extensions.server.ServerHelper.exportObject(ServerHelper.java:223)
at weblogic.corba.server.naming.ReferenceHelperImpl.exportObject(ReferenceHelperImpl.java:233)
at weblogic.rmi.extensions.PortableRemoteObject.exportObject(PortableRemoteObject.java:34)
at weblogic.messaging.dispatcher.DispatcherImpl.export(DispatcherImpl.java:85)This is probably related to this other issue http://www.adobeforums.com/webx/.59b7fbab/0.
Jasmin -
Error when creating a new JMS connection factory in GlassFish V3 b57
When I use the admin console and try to create a new JMS connection factory in GlassFish V3 b57, the operation fails with the error message
An error has occurred: Can't find ConfigModel.Property for attr -connection-validation-required on interface com.sun.enterprise.config.serverbeans.ConnectorConnectionPool
Should I better report this in the GlassFish news forum (http://forums.java.net/jive/forum.jspa?forumID=56&start=0)?
p.s. I launch the admin console from within NetBeans 6.7.1 (the server started before the IDE). WIth version b 56, creating a JMS connection factory worked fine.
Best regards,
Michael JustinThis bug does not apear in the nightly build (b58) now so everything looks fine again.
Greetings,
Michael -
How to find out status of JMS Connection ( connected or closed )
Is there a way to find out the status ( connected or closed ) of JMS Connection at any point of time . JMS Connection interface doesn't seem to have any isAlive( ) sort of method ?
I'm using a shared instance JMS Connection and if someone calls connection.close() on this instance the code starts flunking.Crap isn't it! Would also be useful for creating a JMS connection pool, or for testing connections that stay open for time time and may be closed by network problems etc.
I can think of a couple of options (haven't tested them so may be flawed)
1. Extend your vendors QueueConnectionFactory object to return a decorated Connection, which adds an isAlive() method and records internally whether someone has called .close(); This could be tricky if you use JNDI to retrieve the QCF - you'll have to bind your custom QCF and remove the old one. Much easier if you use a bean factory like Spring.
2. You may be able to do this with the underlying vendor's API. If you choose this option put all the vendor specific code in a separate class and abstract it behind an interface. In future if you change to a JMS provider that does not support this feature, you can always change your isAlive() method return true no matter what;
3. Wrap the JMS sender / receiver in an Adapter class. The adapter delegates send / receive methods to the wrapped class, but if it receives a JMS exception will reconnect and try again. A second JMS Exceptions should be thrown back to the client. All your client code sees is a single send / receive method as if it was using a normal JMS sender / receiver. -
Error in looking up the JMS Connection Factory
Hi,
I am using weblogic6.1. I created a JMS Connection factory from administrator
console with the name QueueConnectionFactory..But when i restart the server and
try to look up that factory its giving an NameNotFoundException...This is the
entry of the factory in config.xml
<JMSConnectionFactory JNDIName="QueueConnectionFactory"
Name="QueueConnectionFactory" Targets="myserver"/>
But if i change reapply the target server to myserver from admin console whenever
restart the server it works fine..
I dont know where is the problem..Can u please update me on the problem if u people
have any idea.
The trace of the exceptions i got is as below:
java.rmi.RemoteException: javax.naming.NameNotFoundException: Unable to
resolve QueueConnectionFactory. Resolved
: '' Unresolved:'QueueConnectionFactory' ; remaining name ''
java.rmi.RemoteException: javax.naming.NameNotFoundException: Unable to resolve
QueueConnectionFactory. Resolved: '' Unr
esolved:'QueueConnectionFactory' ; remaining name ''
Thanx
Regards,
Narayan
Hi Zach,
No, I dont think ur interpretation is right..Once the entry corresponding
to JMS Connection Factory is there in config.xml, the server should automatically
bind it at the time of booting.. right. Why should this administrator server come
into the picture.
Thanx
"Zach" <[email protected]> wrote:
>Don't know. Sounds like the admin server is not notifying JMS of the
>changes under certain situations. You might post in the management.console
>newsgroup.
>
>_sjz.
>
>"Narayan" <[email protected]> wrote in message
>news:[email protected]...
>>
>> Hi,
>> I am using weblogic6.1. I created a JMS Connection factory from
>administrator
>> console with the name QueueConnectionFactory..But when i restart the
>server and
>> try to look up that factory its giving an NameNotFoundException...This
>is
>the
>> entry of the factory in config.xml
>>
>> <JMSConnectionFactory JNDIName="QueueConnectionFactory"
>> Name="QueueConnectionFactory" Targets="myserver"/>
>> But if i change reapply the target server to myserver from admin console
>whenever
>> restart the server it works fine..
>> I dont know where is the problem..Can u please update me on the problem
>if
>u people
>> have any idea.
>> The trace of the exceptions i got is as below:
>> ****************
>> java.rmi.RemoteException: javax.naming.NameNotFoundException:
>Unable to
>> resolve QueueConnectionFactory. Resolved
>> : '' Unresolved:'QueueConnectionFactory' ; remaining name ''
>> java.rmi.RemoteException: javax.naming.NameNotFoundException: Unable
>to
>resolve
>> QueueConnectionFactory. Resolved: '' Unr
>> esolved:'QueueConnectionFactory' ; remaining name ''
>>
>> **********************
>>
>> Thanx
>> Regards,
>> Narayan
>>
>>
>
>
-
JMS Adapter (for DI) does not allow passing username and password to JMS connection
Post Author: PLed76
CA Forum: Data Integration
JMS Adapter (for DI) does not allow passing username and password to JMS connection. It has those fields only for MSMQ. Our Production environment does not allow us to connect to JMS (we use Tibco EMS) anonymously, so it prevents us from use of Data Integrator. Is there any way to pass those params, or obtain the correct version of JMS Adapter, or obtain source codes of the JMS Adapter so we can correct them ourselves (we can send you the corrected sources back) ? Thanks in advance for any help. (PL)ed76 Renaissance CapitalBump - Were having the same issue.
Has anyone found a way to connect to Tibco with a user/pwd?
Version 14.0.297. -
HOw to test the jms connection?
HI all,
how to test the jms connection in xi?
regards
kishHI,
We can see the JMS sender or reciver side .. in RWB .. see communicaiton channel mononitoring,., also..
We can access it through browser.. it depends upon the proocol type .. like sonic or webspeare MQ..or ...
see below links
http://help.sap.com/saphelp_nw04/helpdata/en/cf/886a3c3a860657e10000000a114084/frameset.htm
/people/alessandro.guarneri/blog/2006/01/04/jms-sender-adapter-handling-too-short-lines
/people/william.li/blog/2006/11/13/how-to-use-saps-webas-j2ees-jms-queue-in-exchange-infrastructure
content conversion https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/97171dd3-0401-0010-5195-b43f556e6ce9
Chilla -
Cannot bind tibco's jms connection factory to wls jndi
we are using wls 6.1 sp2. I am trying to bind tibco's jms connection factory
and queue from a standalone client to weblogic's jndi tree so that apps on wls
can lookup these object in wls jndi locally. I have included the required classes
in the classpath for both the client and wls. I am able to bind the queue successfully
and am able to use it successfully too, but I am not able to bind the tib's queue
or topic connection factory. I am getting the following errors. I checked and
double checked the classpath and
Start server side stack trace:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationExcep
tion
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
; nested exception is:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
com.tibco.tibjms.n
aming.TibjmsFederatedTopicConnectionFactory; InstantiationException
Start server side stack trace:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
com.tibco.tibjms.naming.Ti
bjmsFederatedTopicConnectionFactory; InstantiationException
Start server side stack trace:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
anybody any ideas.
I am also trying to bind the tib's jndi tree in wls jndi tree through a reference
object and am passing a composite name for lookup. I am getting a cannotproceedexception.
I wonder if the weblogic jndi can be federated.
anybody any ideas or pointers
thanks
Devaraju, SushantSeems there is a bug in the tibco jms software.
thanks
Devaraju, Sushant
"sushant" <[email protected]> wrote:
>
we are using wls 6.1 sp2. I am trying to bind tibco's jms connection
factory
and queue from a standalone client to weblogic's jndi tree so that apps
on wls
can lookup these object in wls jndi locally. I have included the required
classes
in the classpath for both the client and wls. I am able to bind the queue
successfully
and am able to use it successfully too, but I am not able to bind the
tib's queue
or topic connection factory. I am getting the following errors. I checked
and
double checked the classpath and
Start server side stack trace:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception
is:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationExcep
tion
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
; nested exception is:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
com.tibco.tibjms.n
aming.TibjmsFederatedTopicConnectionFactory; InstantiationException
Start server side stack trace:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
com.tibco.tibjms.naming.Ti
bjmsFederatedTopicConnectionFactory; InstantiationException
Start server side stack trace:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
anybody any ideas.
I am also trying to bind the tib's jndi tree in wls jndi tree through
a reference
object and am passing a composite name for lookup. I am getting a cannotproceedexception.
I wonder if the weblogic jndi can be federated.
anybody any ideas or pointers
thanks
Devaraju, Sushant -
Why do the number of active JMS connections increase?
<strong>Problem</strong>
- Number of active JMS connections and current JMS messages increases until the Weblogic instances crash with an OutOfMemory exception
<strong>Setup</strong>
- Weblogic v9.2.3, Cluster with 4 Nodes
- A JMS Message is sent from a MDB in Weblogic to a distributed queue which has a member on each of the 4 Weblogic nodes. The session is created as follows session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE), the message delivery mode is set programmatically to persistent and the delivery mode override of the queue setup is set to persistent too
- Standalone JMS client processes: each one is attached to <strong>all</strong> 4 nodes. Each one uses a unique JMS message selector so that we have more than one queue consumer for one queue but every message is exactly dedicated to one queue consumer. We us weblogic.jar for the clients.
- Use of Weblogic auto reconnect feature. JMS client code:
Connection connection = this.connectionFactory.createQueueConnection();
final WLConnection wlconnection = (WLConnection)connection;
wlconnection.setReconnectPolicy(JMSConstants.RECONNECT_POLICY_ALL);
wlconnection.setTotalReconnectPeriodMillis(-1);
wlconnection.setReconnectBlockingMillis(-1);
<strong>Remarks and Questions</strong>
- There are no pending JMS messages which is good
- In our setup, each JMS client is connected to all 4 nodes as the messages are not distributed to all nodes: if a message is put to Queue A but the client is only connected to Queue B, the message is NOT transfered from Queue A to Queue B. We set the parameter "Forward Delay" to 5 seconds with no effects. Is this the normal behavior?
- Not all JMS clients are visible in the Weblogic console under JMS Services -> JMS Servers -> [Server] -> Monitoring -> Active Connections. Which one are visible? Which one are not visible? There are also clients where the number of connections is not zero but stays constant; we know that as several independent clients on different hosts are started and the IP adress is visible in the Weblogic console. Why....?
- What reasons can lead to increasing connections? Is this due to client or server problems? Do we have to acknowledge the message in the onMessage(Message) method of the client JMS consumer? So far as I know, we don't have to.
- Are the increasing number of current messages due to the increasing number of JMS connections?
- May the RECONNECT_POLICY_ALL policy produce this problem?
Any hint is appreciated.
Peter
Edited by: pkeller on 23.10.2008 17:08To answer the question about the forwarding of messages from one queue to another myself: As mentioned at http://forums.bea.com/thread.jspa?threadID=400000611, the forwarding for queues does only work if all queue consumers are attached to the same queue. This means that our setup is OK.
But the main question is still unanswered: why do the number of active JMS connections increase? I forgot to mention that
- all messages arrive at the clients and that no exceptions are visible in the log
- if you kill the client, the connections are still visible in the Weblogic console!?
Please help as this problem is very urgent.
Peter
Edited by: pkeller on 24.10.2008 09:06
Edited by: pkeller on 24.10.2008 09:10 -
Maximum RFC connections in RFC
Hi all,
i am facing a problem while trying to send lots of messages from R3 to XI via RFC Sender Adapter:
See the SM21 log in sender system: (R3):
Communication error, CPIC return code 027, SAP return code 677
> CPI-C function: CMINIT(SAP)
anf if i go to the work process log in sm50 (still in R3):
LOCATION SAP-Gateway on host sp-xxx / sapgw01
ERROR timeout during allocate of registered program
TIME Tue Nov 18 10:57:12 2008
RELEASE 700
COMPONENT SAP-Gateway
VERSION 2
RC 677
MODULE gwr3cpic.c
LINE 1847
DETAIL TP ZRFCSENDER_xxxxx init/busy for more than 60 sec
COUNTER 4477
However, nothing is shown in sm21, neither in SM50...
The program ID is registered in SMGW and the maximum RFC connections in RFC_Sender_Channel is set to 100 (although i think that the limit is 50)
When the customer executes the interfaces, they get following 30% with this error (up to 3000 messages in 2,5 hours)
Could you please help in sorting this issue out?
Thanks a lot in advance and best regards,
davidit was a matter of the gateway, we needed to set the gw reg program parameter to a higher value!
-
How WebLogic7.0 & 8.1 JMS connect to MSMQ?
Hi Sir,
Is it possible that i use WebLogic JMS connect to MSMQ(Microsoft)?
If it possible, how can i configure/implement ? Do I have to create adapter class
for MSMQ?
Thanks
Yos
You may be able to find a JMS wrapper for MSMQ (search
google), in which case you can integrate using the same
methods as for any other JMS vendor.
Another option is to use the the WL JMS C client
within a MS program, or even to use "ActiveJMS"
.net wrapper from sourceforge to wrap WL JMS
within a MS program.
Another option is to call into MS (or vice-versa)
using WL's JCOM feature.
Another option is to integrate using web services -
which is the method often pushed by MS.
"weblogic.developer.interest.webservices"
Another option is to consult the WLI newsgroup,
"weblogic.integration.developer" to see if WLI
has pre-built MSMQ adapters.
Tom
Yos wrote:
> Hi Sir,
> Is it possible that i use WebLogic JMS connect to MSMQ(Microsoft)?
> If it possible, how can i configure/implement ? Do I have to create adapter class
> for MSMQ?
> Thanks
> Yos
-
WLS 7.0.4 - JMS Connection Factory - Server Affinity - issues in log file
<b>WLS 7.0.4 - JMS Connection Factory - Server Affinity - issues in log file</b>
We are using WLS 7.0.4 - One of JMS connection factory setting in admin console we selected "Server Affinity" options.
We see this messages appear in Weblogic log file,
####<Apr 24, 2006 1:56:53 AM EDT> <Error> <Cluster> <liberatenode4.dc2.adelphia.com> <node4_svr> <ExecuteThrea
d: '4' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <> <000123> <Conflict start: You tried to bi
nd an object under the name sbetrmi2 in the JNDI tree. The object you have bound from liberatenode2.dc2.adelp
hia.com is non clusterable and you have tried to bind more than once from two or more servers. Such objects ca
n only deployed from one server.>
and then,
####<Apr 24, 2006 1:58:12 AM EDT> <Error> <Cluster> <liberatenode5.dc2.adelphia.com> <node5_svr> <ExecuteThrea
d: '7' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <> <000125> <Conflict Resolved: sbetrmi2 for
the object from liberatenode5.dc2.adelphia.com under the bind name sbetrmi2 in the JNDI tree.>
Should we use 'load balancing option' instead of 'server affinity' ?
Any thuoghts?
Thanks in adv.
VijayTest Reply
<Vijay Kumar> wrote in message news:[email protected]..
> <b>WLS 7.0.4 - JMS Connection Factory - Server Affinity - issues in log
> file</b>
>
> We are using WLS 7.0.4 - One of JMS connection factory setting in admin
> console we selected "Server Affinity" options.
>
> We see this messages appear in Weblogic log file,
> ####<Apr 24, 2006 1:56:53 AM EDT> <Error> <Cluster>
> <liberatenode4.dc2.adelphia.com> <node4_svr> <ExecuteThrea
> d: '4' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <>
> <000123> <Conflict start: You tried to bi
> nd an object under the name sbetrmi2 in the JNDI tree. The object you have
> bound from liberatenode2.dc2.adelp
> hia.com is non clusterable and you have tried to bind more than once from
> two or more servers. Such objects ca
> n only deployed from one server.>
>
> and then,
> ####<Apr 24, 2006 1:58:12 AM EDT> <Error> <Cluster>
> <liberatenode5.dc2.adelphia.com> <node5_svr> <ExecuteThrea
> d: '7' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <>
> <000125> <Conflict Resolved: sbetrmi2 for
> the object from liberatenode5.dc2.adelphia.com under the bind name
> sbetrmi2 in the JNDI tree.>
>
>
> Should we use 'load balancing option' instead of 'server affinity' ?
>
> Any thuoghts?
>
> Thanks in adv.
> Vijay
Maybe you are looking for
-
Process chain status shows incorrect status
When ever i receive bad data requests from R/3, BW pulls the error requests into a separate PSA and pass-thru the good once in another PSA and then into datatarget. However the overall status is green for the job/package and the package when executed
-
Modify screen field layout in MIRO - Item level
Dear All, I would like to know if I can change the field sequence in MIRO transaction at the item level. I want to move the Purchase Order number field next to the item field in MIRO and this needs to be premanent whenever I create a new invoice in M
-
How to pass Proxy user dynamically in Toplink proxy authentication?
Hi, I'm using Toplink Proxy Authentication with my ADF JSF application and want to pass the Proxy user dynamically to the preLogin(..) method of mySessionEventListener (Currently proxy user is hard coded). This is to make my application user as the P
-
Flash Islands, AdvancedDataGrid, problem with grouping
Hello, I am trying to show a table from SAP into an AdvancedDataGrid: <mx:AdvancedDataGrid dataProvider="" width="100%" rowCount="13" > <mx:columns> <mx:AdvancedDataGridColumn dataField="" headerText="Monat"
-
TS1277 where is the "authorize computer" selection located?
how do i authorize my new computer to play past itunes purchases? cant find the "authorize computer" selection