首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

java tomcat ibm mq哪位高手有经验

2012-01-11 
java tomcat ibm mq谁有经验?importjava.util.Hashtableimportcom.ibm.mq.*publicclassmqComm{privateSt

java tomcat ibm mq谁有经验?
import   java.util.Hashtable;

import   com.ibm.mq.*;

public   class   mqComm{
        private   String   qmName   =   " ";  
        private   String   qName   =   " ";      
        private   com.ibm.mq.MQQueueManager   qMgr   =   null
        private   Hashtable   properties   =   new   Hashtable();
       
          public   mqComm(String   qmName,   String   qName)   {
                this.qmName   =   qmName;
                this.qName   =   qName;
                configEnviroment();
                try   {
                        qMgr   =   new   MQQueueManager(qmName,   properties);
                }   catch   (MQException   e)   {
                Loger.log.error( "Create   MQQueueManager   error!qmName=[ "   +   qmName   +   "]qName=[ "   +   qName   +   "] "   +   e);
                }
        }

        public   void   configEnviroment()   {
        properties.put( "CCSID ",   new   Integer(1381));
        }

        public   int   putMsg(String   buff)   {              
                int   openOptions   =   MQC.MQOO_OUTPUT|MQC.MQOO_FAIL_IF_QUIESCING;
                try   {
                        MQQueue     queue   =   qMgr.accessQueue(qName,openOptions,null,null,null);
                        MQPutMessageOptions   pmo   =   new   MQPutMessageOptions();
                        pmo.options   =   pmo.options+MQC.MQGMO_SYNCPOINT;
                        MQMessage   outmsg   =   new   MQMessage();
                        outmsg.characterSet   =   1381;
                        outmsg.format   =   MQC.MQFMT_STRING;
                        outmsg.writeString(buff);
                        queue.put(outmsg,pmo);
                        qMgr.commit();
                        System.out.println( "The   message   has   been   Successfully ");


                        queue.close();
                        qMgr.disconnect();
                        return   0;
                }   catch   (MQException   e)   {
                        e.printStackTrace();
                }   catch   (Exception   ee){
                        Loger.log.error( "mq   putMsg   error! "   +   ee);
                        ee.printStackTrace();
                }
                return   -1;
        }

        public   String   getMsg(int   timeout)
        {
                int   strLen   =   0;
                byte[]   strData;
                String   msg   =   null;
                int   openOptions   =   MQC.MQOO_INPUT_SHARED|MQC.MQOO_FAIL_IF_QUIESCING;
                try   {
                        MQQueue   queue   =   qMgr.accessQueue(qName,openOptions,null,null,null);

                        MQGetMessageOptions   gmo   =   new   MQGetMessageOptions();
                        gmo.options   +=   MQC.MQGMO_SYNCPOINT;
                        gmo   .options   +=   MQC.MQGMO_WAIT;
                        gmo.options   +=   MQC.MQGMO_FAIL_IF_QUIESCING;
                        gmo.waitInterval   =   timeout;
                        gmo.waitInterval   =   MQC.MQWI_UNLIMITED;
                       
                        MQMessage   inmsg   =   new   MQMessage();
                        inmsg.format   =   MQC.MQFMT_STRING;
                        queue.get(inmsg,gmo);
                        strLen   =   inmsg.getMessageLength();
                        strData   =   new   byte[strLen];
                        inmsg.readFully(strData,0,strLen);
                        msg=new   String(strData);


                        qMgr.commit();

                        queue.close();
                        qMgr.disconnect();
                        return   msg;
                }   catch   (MQException   e)   {
                        e.printStackTrace();
                }   catch   (Exception   ee){
                        ee.printStackTrace();
                }
                return   null;
        }

        public   static   void   main(String[]   args)   {
                mqComm   mqtrans   =   new   mqComm( "CIS ", " ", " ", " ");
                try   {
                        //mqtrans.putQueue( "this   is   for   zheshang   test ",   "WEB2PH ");
                        System.out.println( "getFormTheQueue   : "+   mqtrans.getMsg(-1));
                }   catch   (Exception   e)   {
                        e.printStackTrace();
                }
        }
}  
这是一个简单的封装操作MQ的程序,在我的WEB项目中,用tomcat进行测试,发现在后台程序中new   一个我的这个类都会不成功,而且是什么都不报错,什么提示信息都没有,但如果用java   mqComm来执行程序是没有问题的。只有在WEB运行环境下就什么提示信息都没有,居然连new都会不成功?那为什么单独用java执行又没问题呢?谁有类似经验呢?

[解决办法]
这个是没有问题,不过 你在调用的时候方法可能有问题的啊,关键要看的不是这个是你的调用那里,
[解决办法]
mark,wait for leisure..

热点排行