
Sigo escribiendo sobre jPOS, un framework interesantÃsimo y donde existe muy pero muy poca información, las unicas fuentes de información son el grupo de Google y Yahoo y una guia que ellos venden en 50U$, en mi opinión buena para principiantes, pero en los grupos encuentras mucha información adicional y muy util.
Una de las funcionalidades que más me gustan de la versión 1.6 es el Q2, que en esta versión lo han integrado completamente en un solo jar. Anteriormente se llamaba QSP. Lo genial del Q2 es que puedes modificar la configuración en caliente, igual como deployas un WAR en TOMCAT o en JBOSS, eso es ideal para los sistemas de misión crÃtica.
Después de haber compilado el jPOS con ANT, lo corres de la siguiente manera.
java -jar jpos.jar
Esto generará una salida como la siguiente.
<log realm="Q2.system" at="Wed May 26 09:15:18 UYT 2004.22"> <info> Q2 started, deployDir=/home/jpos/q2/deploy </info> </log>
El directorio /home/jpos/q2/deploy es donde vas a colocar tus archivos de configuración (en xml), Q2 trae muchos QBean ya programados y y algunos de ejemplo como el siguiente. La función de este código es montar un LOG para el seguimiento de las transacciones.
< ?xml version="1.0" encoding="UTF-8"?> <logger name="Q2" class="org.jpos.q2.qbean.LoggerAdaptor"> <log -listener class="org.jpos.util.SimpleLogListener" /> <log -listener class="org.jpos.util.DailyLogListener"> <property name="window" value="86400" /> <!-- optional, default one day --> <property name="prefix" value="log/q2" /> <property name="suffix" value=".log"/> <!-- optional --> <property name="date-format" value="-yyyy-MM-dd-HH"/> <property name="compression-format" value="gzip"/> </log> </logger>
Para hacer algo interesante, vamos a configurar un QServer, con un canal de Base24, aunque puedes utilizar otros paquetes, iso93ascii.xml, europay.xml o vapsms.xml entre otros, además jPOS trae otros paquetes ya programados y no es necesario archivos de configuración.
El canal por lo general tiene una relación directa con el empaquetador, no puedes enviar datos por un canal XML y empaquetar en iso87ascii.
<server name="xml-server" class="org.jpos.q2.iso.QServer" logger="Q2"> <attr name="port" type="java.lang.Integer">8000</attr> <channel name="dummyclient.channel" class="org.jpos.iso.channel.BASE24Channel" packager="org.jpos.iso.packager.GenericPackager" logger="Q2"> <property name="packager-config" value="cfg/packager/base24.xml" /> </channel> </server>
Después de esto, te generará la siguiente salida.
<log realm="xml-server.server" at="Tue Mar 10 21:44:27 CST 2009.484"> <iso -server> listening on port 8000 </iso> </log>
Lo siguiente sera crear un cliente para comunicarnos con el servidor, eso será en la próxima entrada.


Fernando
on Abr 16th, 2009
@ 2:41:
saludos,
al ejecutar jpos me sale depoyDir=c:\jpos6\build\deploy, que es la ruta en mi pc de desarrollo.
en esta ruta he copiado un archivo de configuracion como el siguiente
8000
pero no veo ningun resultado en la ventada de DOS donde ejecute el JPOS.
Me puedes enviar un archivo XML como el que debo copiar en la ubicacion c:\jpos6\build\deploy?
Jota
on Abr 16th, 2009
@ 6:04:
lo siento, no se copio tu archivo de configuración, en c:\jpos6\build\deploy puedes poner muchos tipos de configuración, como los que estan en el articulo, no importa el nombre del xml.
Jota
on Abr 16th, 2009
@ 6:06:
otra cosa, que jdk estas usando, y que estas poniendo en la consola de comandos MS-DOS en tu caso por lo que veo.
Fernando
on Abr 20th, 2009
@ 2:11:
Saludos ,
estoy usando jdk1.6.0_13 para windows
C:\jpos6\build>java -jar jpos.jar
Q2 started, deployDir=C:\jpos6\build\deploy
new classloader [19ee1ac] has been created
deploy:C:\jpos6\build\deploy\99_sysmon.xml
Starting SystemMonitor
1.6.4$Revision: 2709 $
freeMemory=4642272
totalMemory=5177344
inUseMemory=535072
delay=0 ms
threads=3
Thread[Reference Handler,10,system]
Thread[Finalizer,8,system]
Thread[Signal Dispatcher,9,system]
Thread[Attach Listener,5,system]
Thread[main,5,main]
Thread[Timer-0,5,main]
Thread[SystemMonitor,5,main]
— name-registrar —
logger.Q2: org.jpos.util.Logger
Gracias,
Fernando
Fernando
on Abr 20th, 2009
@ 3:29:
Saludos,
Ya esta funcionando. Estaba tomando una ubicacion diferente.
Gracias.
Saludos ,
estoy usando jdk1.6.0_13 para windows
C:\jpos6\build>java -jar jpos.jar
Q2 started, deployDir=C:\jpos6\build\deploy
new classloader [19ee1ac] has been created
deploy:C:\jpos6\build\deploy\99_sysmon.xml
Starting SystemMonitor
1.6.4$Revision: 2709 $
freeMemory=4642272
totalMemory=5177344
inUseMemory=535072
delay=0 ms
threads=3
Thread[Reference Handler,10,system]
Thread[Finalizer,8,system]
Thread[Signal Dispatcher,9,system]
Thread[Attach Listener,5,system]
Thread[main,5,main]
Thread[Timer-0,5,main]
Thread[SystemMonitor,5,main]
— name-registrar —
logger.Q2: org.jpos.util.Logger
Gracias,
Fernando
Fernando
on Abr 20th, 2009
@ 4:12:
Saludos,
Algun ejemplo de como crear el cliente
para conectarnos al servidor.
Gracias,
Fernando Del Carmen
Jota
on Abr 20th, 2009
@ 20:08:
Aqui puedes ver el ejemplo,
http://blog.jotadeveloper.com/2009/04/20/cliente-para-conexion-con-q2-de-jpos/
te recomiendo echar una leida al grupo de jPOS en Google, esta muy completo.
http://groups.google.com/group/jpos-users?hl=es
Listeners en jPOS, el ISORequestListener con QMUX « JotaDeveloper
on Jun 15th, 2009
@ 9:41:
[...] ofrece un servidor, llamado Q2 Server, donde podemos montar un proceso intermedio entre tu sistema y tu procesadora de tarjetas de [...]