由mina通信想到

mina框架中有一个Handler和Controller起着很关键的作用,特别是Controller,

<!-- 下行短信controller的配置  -->
 <bean id="dynlenghtcontroller" class="com.huateng.smsserver.bussiness.system.controller.DynamicLengthController">
  <property name="sysservice" ref="systemService" />
  <property name="mapService" ref="bomap" />
  <property name="actionMap">
   <map>
    <entry key="140500" value-ref="serverActionTrans" />
    <entry key="140503" value-ref="serverActionTrans" />
    <entry key="140700" value-ref="serverActionTrans" />
    <entry key="140900" value-ref="serverActionTrans" />
    <entry key="141100" value-ref="serverActionTrans" />
    <entry key="141400" value-ref="serverActionTrans" />
    <entry key="141500" value-ref="serverActionTrans" />
    <entry key="141600" value-ref="serverActionTrans" />
    <entry key="141700" value-ref="serverActionTrans" />
    <entry key="141800" value-ref="serverActionTrans" />
    <entry key="141801" value-ref="serverActionTrans" />
    <entry key="141900" value-ref="serverActionTrans" />
    <entry key="142000" value-ref="serverActionTrans" />
    <entry key="142100" value-ref="serverActionTrans" />
    <entry key="142200" value-ref="serverActionTrans" />
    <entry key="142300" value-ref="serverActionTrans" />
    <entry key="142400" value-ref="serverActionTrans" />
    <entry key="142500" value-ref="serverActionTrans" />
    <entry key="142600" value-ref="serverActionTrans" />
   </map>
  </property>
 </bean>

 

通过spring注入一个MAP来控制过来的报文触发哪个交易。

 

 

在有spring的地方可以用类似这种访问控制:

<!-- 上行短信controller的配置 -->
    <bean id="transcontroller" class="com.huateng.smsserver.bussiness.system.controller.TransController">
         <property name="sysservice" ref="systemService" />
         <property name="actionMap">
   <map>
    <!-- 回复Y|y获取电话提货码,触发BACKSERVER040800交易 -->
    <entry key="040800" value-ref="SendRandCodeNotifyTrans" />
    <!-- 回复S|s Q|q获取单次授权码,触发BACKSERVER061400交易 -->
    <entry key="061400" value-ref="applySingleLicenseTrans" />
    <!-- 回复A|a查询本人所有票券信息,触发BACKSERVER040600交易 -->
    <entry key="040600" value-ref="QueryPersonAllTickTrans" />
    <!-- 回复中文查询本人匹配票券信息,触发BACKSERVER041000交易 -->
    <entry key="041000" value-ref="QueryPersonTickWithNameTrans" />
   </map>
  </property>
    </bean>

 

其中


 <!-- 040800交易 -->
 <bean id="SendRandCodeNotifyTrans" class="com.huateng.smsserver.bussiness.system.entity.TransInitBean">
   <property name="fromSmsAction" ref="SendRandCodeNotifyAction" />
 </bean>

TransInitBean为:

public class TransInitBean {
 
 /** 接收报文action处理类. */
 private IRecFromMsgAction fromMsgAction;
 
 /** 接收短信action处理类. */
 private IRecFromSmsAction fromSmsAction;
 
 /** b2o报文接收mappid. */
 private String receiveMapperId;
 
 /** o2b报文应答成功 mappid. */
 private String responseSuccessMapperId;
 
 /**  o2b报文应答失败mappid. */
 private String responseFailureMapperId;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值