Basics Transaction Manager

306 views
Skip to first unread message

maxOne

unread,
Dec 12, 2011, 10:58:25 AM12/12/11
to jPOS Users
Hi people, I have a problem with my transaction manager this is my
configuration:
<txnmgr name="MyTxn" logger="Q2"
class="org.jpos.transaction.TransactionManager">
<property name="space" value="tspace:default" />
<property name="queue" value="TXNMGR" />
<property name="sessions" value="5" />
<property name="debug" value="true"/>
<property name="timeout" value="10000"/>
<participant class="org.jpos.Q2.Inquiry" logger="Q2">
</participant>
</txnmgr>

</log>
<log realm="Q2.system" at="Mon Dec 12 13:01:26 UYST 2011.213">
<info>
deploy:/home/maxidlk/workspace/Switch/deploy/1_QServer.xml
</info>
</log>
<log realm="Q2.system" at="Mon Dec 12 13:01:26 UYST 2011.291">
<info>
deploy:/home/maxidlk/workspace/Switch/deploy/ChannelAdaptor.xml
</info>
</log>
<log realm="Q2.system" at="Mon Dec 12 13:01:26 UYST 2011.297">
<info>
deploy:/home/maxidlk/workspace/Switch/deploy/QMUX.xml
</info>
</log>
<log realm="Q2.system" at="Mon Dec 12 13:01:26 UYST 2011.303">
<info>
deploy:/home/maxidlk/workspace/Switch/deploy/
transactionManager.xml
</info>
</log>
<log realm="org.jpos.transaction.TransactionManager" at="Mon Dec 12
13:01:26 UYST 2011.317">
<warn>
init
<iso-exception>
org.jpos.Q2.Inquiry
<nested-exception>
javax.management.ReflectionException: The MBean class could not
be loaded by the context classloader
at
com.sun.jmx.mbeanserver.MBeanInstantiator.loadClass(MBeanInstantiator.java:
639)
at
com.sun.jmx.mbeanserver.MBeanInstantiator.findClass(MBeanInstantiator.java:
111)
at
com.sun.jmx.mbeanserver.MBeanInstantiator.findClass(MBeanInstantiator.java:
135)
at
com.sun.jmx.mbeanserver.MBeanInstantiator.instantiate(MBeanInstantiator.java:
604)
at
com.sun.jmx.mbeanserver.MBeanInstantiator.instantiate(MBeanInstantiator.java:
513)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.instantiate(JmxMBeanServer.java:
984)
at org.jpos.q2.QFactory.newInstance(QFactory.java:311)
at
org.jpos.transaction.TransactionManager.createParticipant(TransactionManager.java:
559)
at
org.jpos.transaction.TransactionManager.initGroup(TransactionManager.java:
551)
at
org.jpos.transaction.TransactionManager.initParticipants(TransactionManager.java:
530)
at
org.jpos.transaction.TransactionManager.initService(TransactionManager.java:
84)
at org.jpos.q2.QBeanSupport.init(QBeanSupport.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:
111)
at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:
45)
at
com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:
226)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:
857)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:
795)
at org.jpos.q2.QFactory.createQBean(QFactory.java:112)
at org.jpos.q2.Q2.deploy(Q2.java:439)
at org.jpos.q2.Q2.deploy(Q2.java:262)
at org.jpos.q2.Q2.run(Q2.java:169)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.ClassNotFoundException: org.jpos.Q2.Inquiry
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at
com.sun.jmx.mbeanserver.MBeanInstantiator.loadClass(MBeanInstantiator.java:
634)
... 27 more
</nested-exception>
org.jpos.core.ConfigurationException: org.jpos.Q2.Inquiry
(javax.management.ReflectionException: The MBean class could not be
loaded by the context classloader)
at org.jpos.q2.QFactory.newInstance(QFactory.java:313)
at
org.jpos.transaction.TransactionManager.createParticipant(TransactionManager.java:
559)
at
org.jpos.transaction.TransactionManager.initGroup(TransactionManager.java:
551)
at
org.jpos.transaction.TransactionManager.initParticipants(TransactionManager.java:
530)
at
org.jpos.transaction.TransactionManager.initService(TransactionManager.java:
84)
at org.jpos.q2.QBeanSupport.init(QBeanSupport.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:
111)
at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:
45)
at
com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:
226)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:
857)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:
795)
at org.jpos.q2.QFactory.createQBean(QFactory.java:112)
at org.jpos.q2.Q2.deploy(Q2.java:439)
at org.jpos.q2.Q2.deploy(Q2.java:262)
at org.jpos.q2.Q2.run(Q2.java:169)
at java.lang.Thread.run(Thread.java:679)
Nested:javax.management.ReflectionException: The MBean class could not
be loaded by the context classloader
at
com.sun.jmx.mbeanserver.MBeanInstantiator.loadClass(MBeanInstantiator.java:
639)
at
com.sun.jmx.mbeanserver.MBeanInstantiator.findClass(MBeanInstantiator.java:
111)
at
com.sun.jmx.mbeanserver.MBeanInstantiator.findClass(MBeanInstantiator.java:
135)
at
com.sun.jmx.mbeanserver.MBeanInstantiator.instantiate(MBeanInstantiator.java:
604)
at
com.sun.jmx.mbeanserver.MBeanInstantiator.instantiate(MBeanInstantiator.java:
513)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.instantiate(JmxMBeanServer.java:
984)
at org.jpos.q2.QFactory.newInstance(QFactory.java:311)
at
org.jpos.transaction.TransactionManager.createParticipant(TransactionManager.java:
559)
at
org.jpos.transaction.TransactionManager.initGroup(TransactionManager.java:
551)
at
org.jpos.transaction.TransactionManager.initParticipants(TransactionManager.java:
530)
at
org.jpos.transaction.TransactionManager.initService(TransactionManager.java:
84)
at org.jpos.q2.QBeanSupport.init(QBeanSupport.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:
111)
at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:
45)
at
com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:
226)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:
857)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:
795)
at org.jpos.q2.QFactory.createQBean(QFactory.java:112)
at org.jpos.q2.Q2.deploy(Q2.java:439)
at org.jpos.q2.Q2.deploy(Q2.java:262)
at org.jpos.q2.Q2.run(Q2.java:169)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.ClassNotFoundException: org.jpos.Q2.Inquiry
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at
com.sun.jmx.mbeanserver.MBeanInstantiator.loadClass(MBeanInstantiator.java:
634)
... 27 more
</iso-exception>
</warn>
</log>
<log realm="xml-server.server" at="Mon Dec 12 13:01:26 UYST 2011.385">
<iso-server>
listening on port 8000
</iso-server>
</log>
<log realm="channel/127.0.0.1:8500" at="Mon Dec 12 13:01:26 UYST
2011.397" lifespan="10ms">
<connect>
localhost:8500
</connect>
</log>

Mark Salter

unread,
Dec 12, 2011, 5:59:07 PM12/12/11
to jpos-...@googlegroups.com
On 12/12/2011 15:58, maxOne wrote:
> Hi people, I have a problem with my transaction manager this is my
> configuration:
> <txnmgr name="MyTxn" logger="Q2"
> class="org.jpos.transaction.TransactionManager">
> <property name="space" value="tspace:default" />
> <property name="queue" value="TXNMGR" />
> <property name="sessions" value="5" />
> <property name="debug" value="true"/>
> <property name="timeout" value="10000"/>
> <participant class="org.jpos.Q2.Inquiry" logger="Q2">
> </participant>
> </txnmgr>
>

> <log realm="org.jpos.transaction.TransactionManager" at="Mon Dec 12


> 13:01:26 UYST 2011.317">
> <warn>
> init
> <iso-exception>
> org.jpos.Q2.Inquiry
> <nested-exception>
> javax.management.ReflectionException: The MBean class could not
> be loaded by the context classloader
> at
> com.sun.jmx.mbeanserver.MBeanInstantiator.loadClass(MBeanInstantiator.java:
> 639)

Is the class org.jpos.Q2.Inquiry on your classpath?

Does it implement any/all of the following:-

org.jpos.transaction.TransactionConstants
org.jpos.transaction.TransactionParticipant
org.jpos.transaction.AbortParticipant

?

--
Mark

maxOne

unread,
Dec 13, 2011, 7:30:32 AM12/13/11
to jPOS Users
Is the class org.jpos.Q2.Inquiry on your classpath? Yes

Does it implement any/all of the following:-

org.jpos.transaction.TransactionConstants
org.jpos.transaction.TransactionParticipant
org.jpos.transaction.AbortParticipant

?
Only the TransactionParticipant, I need to implement all? Why

this is my source:

import java.io.Serializable;

import org.jpos.iso.ISOMsg;
import org.jpos.transaction.Context;
import org.jpos.transaction.TransactionParticipant;
import org.jpos.util.Logger;
import org.jpos.util.SimpleLogListener;
import org.jpos.iso.ISOSource;
import org.jpos.iso.ISOException;
import java.io.*;
public class Inquiry implements TransactionParticipant {

public void abort(long id, Serializable context) {
System.out.println("Inquiry Process aborted");

}

public void commit(long id, Serializable context) {
Context ctx=(Context)context;
ISOMsg msg=(ISOMsg)ctx.get("ORIGINAL");
ISOSource source=(ISOSource)ctx.get("ISOSOURCE");
try{
source.send(msg);
}
catch(Exception e){
e.printStackTrace();
}
System.out.println("Committing the inquiry process");

}

public int prepare(long id, Serializable context) {
Context ctx=(Context)context;
ISOMsg msg=(ISOMsg)ctx.get("SEND");
Logger logger=new Logger();
logger.addListener (new SimpleLogListener (System.out));
ISOSource source=(ISOSource)ctx.get("ISOSOURCE");
try
{
msg.set(39,"00");
source.send(msg);
}
catch(Exception e){
e.printStackTrace();
}
return PREPARED;

Mark Salter

unread,
Dec 13, 2011, 4:51:43 PM12/13/11
to jpos-...@googlegroups.com
On 13/12/2011 12:30, maxOne wrote:
> Is the class org.jpos.Q2.Inquiry on your classpath? Yes
I wonder why it isn't finding it then.

>
> Does it implement any/all of the following:-
>
> org.jpos.transaction.TransactionConstants
> org.jpos.transaction.TransactionParticipant
> org.jpos.transaction.AbortParticipant
>
> ?
> Only the TransactionParticipant,

Ok


> I need to implement all?

No

> Why
You don't...
... I'm just trying to help you fill in the gaps in your question.

>
> this is my source:
>
> import java.io.Serializable;
>
> import org.jpos.iso.ISOMsg;
> import org.jpos.transaction.Context;
> import org.jpos.transaction.TransactionParticipant;
> import org.jpos.util.Logger;
> import org.jpos.util.SimpleLogListener;
> import org.jpos.iso.ISOSource;
> import org.jpos.iso.ISOException;
> import java.io.*;

I don't see a package declaration, is there one hiding somewhere?

--
Mark

Alejandro Revilla

unread,
Dec 13, 2011, 4:53:08 PM12/13/11
to jpos-...@googlegroups.com
I don't see a package declaration, is there one hiding somewhere?

Good catch!

maxOne

unread,
Dec 14, 2011, 7:44:17 AM12/14/11
to jPOS Users
Thanks.
Its fixed!!!
Reply all
Reply to author
Forward
0 new messages