public class WalletRequestListener extends QBeanSupport
implements ISORequestListener {
// Constants defined elsewhere ...
public static final String REQUEST = "REQUEST";
public static final String ISOSOURCE = "ISOSOURCE";
protected Logger logger;
protected String realm;
Space sp;
public WalletRequestListener() {
super();
this.sp = SpaceFactory.getSpace("tspace:default");
}
@Override
public boolean process(ISOSource source, ISOMsg m) {
System.out.println("-------m--------------" + m);
//Space sp = SpaceFactory.getSpace();
Context ctx = new Context();
ctx.put(REQUEST, m);
ctx.put(ISOSOURCE, source);
sp.out(cfg.get("queue"), ctx, cfg.getLong("timeout"));
return true;
}
}
public class TransactionManager extends QBeanSupport implements TransactionParticipant {
public int prepare(long id, Serializable context) {
Context ctx = (Context) context;
ISOMsg msg = (ISOMsg) ctx.get(cfg.get("queue"));
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;
}
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 (IOException | ISOException e) {
e.printStackTrace();
}
System.out.println("Committing the inquiry process");
}
public void abort(long id, Serializable context) {
System.out.println("Inquiry Process aborted");
}
}
<log realm="client-simulator" at="Tue Apr 23 08:29:02 EAT 2013.464">
<trace>
---------------------------[ Simple Echo Test ]---------------------------
</trace>
</log>
<log realm="channel/
127.0.0.1:10000" at="Tue Apr 23 08:29:02 EAT 2013.515" lifespan="2ms">
<send>
<isomsg>
<!-- org.jpos.iso.packager.XMLPackager -->
<field id="0" value="1800"/>
<field id="7" value="0423082902"/>
<field id="11" value="942509"/>
<field id="12" value="000000"/>
<field id="63" value="Tue Apr 23 08:29:02 EAT 2013"/>
<isomsg id="120">
<field id="0" value="29110001"/>
</isomsg>
</isomsg>
</send>
</log>
<log realm="server_channel_A/
127.0.0.1:49784" at="Tue Apr 23 08:29:02 EAT 2013.518" lifespan="277ms">
<receive>
<isomsg direction="incoming">
<!-- org.jpos.iso.packager.XMLPackager -->
<field id="0" value="1800"/>
<field id="7" value="0423082902"/>
<field id="11" value="942509"/>
<field id="12" value="000000"/>
<field id="63" value="Tue Apr 23 08:29:02 EAT 2013"/>
<isomsg id="120">
<field id="0" value="29110001"/>
</isomsg>
</isomsg>
</receive>
</log>
-------m--------------<-- 1800 942509
java.lang.NullPointerException
<log realm="server_channel_A/
127.0.0.1:49784" at="Tue Apr 23 08:29:02 EAT 2013.772" lifespan="1ms">
<send>
<exception name="null">
java.lang.NullPointerException
at org.mode.wallet.transactionManager.TransactionManager.prepare(TransactionManager.java:34)
at org.jpos.transaction.TransactionManager.prepare(TransactionManager.java:438)
at org.jpos.transaction.TransactionManager.prepare(TransactionManager.java:489)
at org.jpos.transaction.TransactionManager.run(TransactionManager.java:249)
at java.lang.Thread.run(Thread.java:722)
org.jpos.iso.ISOException: unexpected exception (java.lang.NullPointerException)
at org.jpos.iso.BaseChannel.send(BaseChannel.java:574)
at org.jpos.iso.BaseChannel.send(BaseChannel.java:543)
at org.mode.wallet.transactionManager.TransactionManager.commit(TransactionManager.java:55)
at org.mode.wallet.transactionManager.TransactionManager.commit(TransactionManager.java:55)
at org.jpos.transaction.TransactionManager.commit(TransactionManager.java:448)
at org.jpos.transaction.TransactionManager.commit(TransactionManager.java:448)
at org.jpos.transaction.TransactionManager.commit(TransactionManager.java:391)
at org.jpos.transaction.TransactionManager.commit(TransactionManager.java:391)
at org.jpos.transaction.TransactionManager.run(TransactionManager.java:256)
at java.lang.Thread.run(Thread.java:722)
at org.jpos.transaction.TransactionManager.run(TransactionManager.java:256)
Nested:java.lang.NullPointerException
at java.lang.Thread.run(Thread.java:722)
</exception>
</send>
</log>
Committing the inquiry process
at org.jpos.iso.BaseChannel.send(BaseChannel.java:543)
at org.mode.wallet.transactionManager.TransactionManager.commit(TransactionManager.java:55)
at org.jpos.transaction.TransactionManager.commit(TransactionManager.java:448)
at org.jpos.transaction.TransactionManager.commit(TransactionManager.java:391)
at org.jpos.transaction.TransactionManager.run(TransactionManager.java:256)
at java.lang.Thread.run(Thread.java:722)
Nested:java.lang.NullPointerException
at org.jpos.iso.BaseChannel.send(BaseChannel.java:543)
at org.mode.wallet.transactionManager.TransactionManager.commit(TransactionManager.java:55)
at org.jpos.transaction.TransactionManager.commit(TransactionManager.java:448)
at org.jpos.transaction.TransactionManager.commit(TransactionManager.java:391)
at org.jpos.transaction.TransactionManager.run(TransactionManager.java:256)
at java.lang.Thread.run(Thread.java:722)
<log realm="client-simulator" at="Tue Apr 23 08:29:32 EAT 2013.512">