基于JPos的消息交换系统
消息交换系统不不是一个具体的业务系统,而是业务系统的运转的基础框架;
他的运转是体现在报文交换上的;
要定义一个可被不同业务系统使用的报文规范;
报文内容参考ISO8583(87版),传输使用XML形式。为不和标准冲突,目前吧自定义域放在87版的自定义域里。
具体定义可参考schema.xls。
基于JPos的消息交换系统是一个自管理的服务框架。
JPos作为消息平台十分灵活,为统一流程我们将设计一套网银专用的消息交换机制。
系统将建立3个层次,接入层、业务层、收单链路层;
每个层都是一或多个平等的组件,相互间可以通过Socket调用;
一个标准的组件由下列几个模块组成
<!-- 服务监听 --><serverclass="org.jpos.q2.iso.QServer"logger="Q2"name="module"> <attrname="port"type="java.lang.Integer">9031</attr> <!-- 入口通道 --> <channelclass="org.jpos.iso.channel.XMLChannel"logger="Q2" packager="org.jpos.iso.packager.XMLPackager"> <!-- 入口通道内的处理器,如果不需要要也可以不配置 --> <!-- 方向incoming:匹配消息进入,outgoing:匹配消息返回--> <filterclass="com.example.jpos.client.TestFilter"direction="incoming"> <propertyname="fields"value="0 2 3"/> </filter> </channel> <!-- 路由器 --> <!-- 这里是根据32域匹配出口通道 --> <request-listenerclass="org.jpos.apps.qsp.Q2Router"logger="Q2"> <routerswitch="${32}==01"type="mux"bounce="true"destination="out1"timeout="30000"/> <routerswitch="${32}==02"type="mux"bounce="true"destination="out2"timeout="30000"/> </request-listener></server> |
<!-- 出口通道需要用mux链接 --><muxclass="org.jpos.q2.iso.QMUX"logger="Q2"name="out1"> <in>receive</in> <out>send</out></mux><channel-adaptorname="channeladaptor" class="org.jpos.q2.iso.ChannelAdaptor"logger="Q2"> <!-- 出口通道 --> <channelname="channel"class="org.jpos.iso.channel.XMLChannel"logger="Q2"packager="org.jpos.iso.packager.XMLPackager"> <propertyname="host"value="localhost"/> <propertyname="port"value="9051"/> </channel> <in>send</in> <out>receive</out> <reconnect-delay>1000</reconnect-delay></channel-adaptor> |
原文:https://www.cnblogs.com/jpfss/p/9066394.html