读书人

半桶水开发 CMPP2.0 with Spring + JP

发布时间: 2012-11-10 10:48:51 作者: rapoo

半桶水开发 CMPP2.0 with Spring + JPA 1
本来公司招进来的时候是做PHP,简历哪里手多写了会Java.结果现在做的短信增值平台要用JAVA做网关接口,把我给逮住了.只能硬着头皮上了.
生成环境:
OS: Mac OSX 10.5.6
DB: Oracle 9i
Java:dev on JDK 5 run on JDK6
JAVA IDE : netbeans6.5 path 1
Java framework : Spring 2.5 Hibernate 3 with JPA Open-CMPP

注:
关于Open_CMPP,本来用的短信库是华为那个,可是上头给我的库有问题,构造发送短信的时候死活有问题.还好找到了一个反编译的类库,用法完全跟华为的一样.作者还改了一些BUG.特别感谢他
他的blog

小结一下主要技术:
呃,主要是想学习一下在注解的支持下开发 Spring+JPA,还有用到JDK5 的多线程技术 的开发.

分多页写
半桶水开发 CMPP2.0 with Spring + JPA 1半桶水开发 CMPP2.0 with Spring + JPA 2半桶水开发 CMPP2.0 with Spring + JPA 3

首先看一下结构:


收取下发的短信的线程
DeliverThreadService.java

/** * * @author rikugun */public class DeliverThreadService implements Runnable {    private final int sleeptime = 1;    private Logger log = Logger.getLogger(DeliverThreadService.class.getName());    @Autowired    CMPPProxy CMPPProxy;    @Autowired    DeliverDao deliverDao;    BlockingQueue<CMPPDeliverMessage> queue;    private SpSmsDeliver deliver = null;    @Override    public void run() {        queue = CMPPProxy.getDeliveMsgs();        while (true) {            log.log(Level.INFO, "Waiting for Deliver..");            try {               //从队列中取得下发短信                CMPPDeliverMessage msg = queue.take();                deliver = new SpSmsDeliver(msg.getDestnationId());                deliver.setContent(msg.getMsgContent().toString());                deliver.setResTime(new Date(System.currentTimeMillis()));                deliver.setSmsOperator(1);                deliver.setMobileNo(msg.getSrcterminalId());                try {                    deliverDao.create(deliver);                } catch (PreexistingEntityException ex) {                    log.log(Level.SEVERE, null, ex);                } catch (Exception ex) {                    log.log(Level.SEVERE, null, ex);                }                log.log(Level.FINE, msg.toString());                Thread.sleep(1000 * sleeptime);            } catch (InterruptedException ex) {                log.log(Level.SEVERE, null, ex);            }            log.log(Level.FINE, "Still Waiting...");        }    }}

读书人网 >软件架构设计

热点推荐