精华内容
下载资源
问答
  • WebSphere详解

    2010-03-21 19:26:47
    IBM WebSphere详解 ,描述IBM WebSphere的外文版资料
  • IBM WebSphere详解(PPT 78页)
  • WebSphere安装详解

    2012-04-06 11:50:24
    WebSphere安装详解
  • WebSphere部署详解

    2009-01-19 22:45:31
    WebSphere部署详解,通过图片的形式详细介绍应用如何部署在Websphere
  • WebSphere应用发布详解

    2012-04-11 13:47:18
    WebSphere应用发布详解,教你如何使用websphere
  • IBM WebSphere message broker 命令详解
  • WebSphere连接池参数详解 博客分类:  websphere   应用程序读取数据库有2种方式,一种是直接连接数据库,一种是调用连接池。   1) 直连是程序直接创建物理连接,调用数据库进行数据读取。直连的...
     
    
    应用程序读取数据库有2种方式,一种是直接连接数据库,一种是调用连接池。 
        1)       直连是程序直接创建物理连接,调用数据库进行数据读取。直连的创建会带来很大的系统开销,若程序中多处频繁使用直连,会造成应用服务器资源消耗过多,影响程序的性能。 
        2)       连接池是创建和管理一个物理连接的缓冲池,其中会保留一定数量创建的物理连接不关闭,当有客户端请求时,调用连接池,可以有效减少物理连接的创建次数,降低直连所带来的系统开销,缓解应用服务器压力,提高程序性能。 
        下面我对连接池各参数意义进行讲解: 
         连接超时 
        连接超时是指,当对指定连接池进行请求时,池中没有可用连接(连接全部被使用,或者数据库请求超时),当请求时间到达指定之间时未响应,那麽这个时候就会产生超时异常,通过日志可以发现。 
        连接超时的设置,是对我们应用响应速度的一种把关,客户往往要求我们的产品在多长时间必须有响应,所以连接超时的设置,可以让我们发现哪些程序点有响应速度问题,可能是数据库查询语句问题,也有可能是程序逻辑死循环,再有可能就是数据库表结构需要优化,还有可能是最大连接数到达最大值。 
         最大连接数 
        最大连接数是指当前连接池中允许创建的最大物理连接数,当到达指定值后,将不允许创建物理连接。和连接超时相对应,当达到最大值后,连接请求将等待,直到池中有空闲连接为止,否则报连接超时错误。当使用集群机制时,会同时存在多个相同连接池,这个时候需要考虑最大数量的设置。 
        最大连接数可以有效控制创建物理连接的数量,连接池的大小影响着服务器资源的占用情况,若连接池过大,则会长期占用服务器可利用资源,若连接池过小,无法满足现场环境应用高负载使用压力。最大连接数的设置应根据TPV观测数据进行合理配置。 
         最小连接数 
        最小连接数是指当前连接池要保留的最小物理连接,其决定未使用超时维护机制的下限,连接池的创建不是根据最小连接数而特意创建,而是根据用户请求而创建,系统会一直维护最小的连接数目。 
        最小连接数使应用服务器保持一定数量的物理连接,利用应用服务器维护机制,合理分配服务器资源。当应用程序访问频繁,但访问人数少的情况下,最小连接数的合理配置,可以将有效的资源进行充分利用,满足特定应用需求。 
         收集时间 
        收集时间是连接池维护机制的核心,是指每次维护连接池的时间间隔。其有两个维护指标,分别为未使用超时和时效超时,其值应该小于两个指标中的任何一个。每一次维护周期中,连接池都会将连接池中超时的物理连接关闭,以减少系统占用资源。 
        合理的收集时间设置,是帮助我们关闭不必要的连接,节省系统资源占用的有效途径。收集时间设置不易过大,因为时间间隔过长,会使很多未被使用的物理连接持续占用资源。若收集时间过小,则频繁的维护会带来很多系统开销,连接池的主要精力都放到了维护上。 
         未使用的超时 
        未使用的超时指池中的物理连接空闲未使用的时间间隔,每隔指定时间,系统会为连接标记,帮助收集时间在维护过程中进行关闭。未使用的超时应该小于实效超时时间,并且其以最小连接数为标准,当连接数超过最小连接数时,其才起作用。 
        未使用超时的设置,帮助我们关闭不必要的空闲连接,释放系统资源,并且减少数据库开销。根据现场环境使用情况,我们可以根据系统访问频繁程序,来定制合理的未使用超时,如果过小,当访问频繁程度大时,总需要重新创建,如果过大,当访问频繁程度不大时,连接池又空闲占用过多。 
         时效超时 
        实效超时指关闭物理连接的时间间隔,这个值是指到达指定的时间后,关闭满足时间条件的物理连接,若这个物理连接未使用,则直接关闭,若这个连接正在使用,则当前事务结束后,关闭此连接。这个值不受最小连接数的影响,若没有新创建的连接,此机制会关闭连接直到为0。 
        时效超时的设置,是为了方式应用程序或者数据库造成的数据库连接持续占用,可能导致的原因包括程序逻辑错误,数据库宕机导致的错误等。还有一种情况为人为导致,就是若某个用户持续占用一个资源不放,会导致其他用户无法访问。所以时效超时的设置,是对不合理使用应用,或者链接错误等进行强行关闭,保证程序的稳定性和持久性。 
    展开全文
  • IBM Websphere MQ 使用详解

    千次阅读 2019-03-20 17:07:10
    首先,此攻略不包含安装和配置的内容。...下面是安装配置后的截图: 1.队列和通道的理解 队列对应Buffer,通道对应Channel。 根据通道是本方还是对方,启用相应的通道(即服务)。 远程队列_remote发送到对方的本地...

    1.MQ安装配置

    安装和配置的内容,可参考https://jingyan.baidu.com/article/2fb0ba409f4e1e00f2ec5fd3.html
    下面是安装配置后的截图:
    IBM MQ 部署后截图

    2.队列和通道的理解

    队列对应Buffer,通道对应Channel。
    根据通道是本方还是对方,启用相应的通道(即服务)。
    MQ队列
    远程队列_remote发送到对方的本地队列_local。
    比如,在abc_remote上放入消息“123”,在cz_local队列上就能获取“123”。

    更详细的理解请点击

    3.java代码

    3.1 阻塞模式
    import grp.pt.util.StringUtil;
    
    import org.apache.log4j.Logger;
    
    import com.ibm.mq.MQC;
    import com.ibm.mq.MQEnvironment;
    import com.ibm.mq.MQException;
    import com.ibm.mq.MQGetMessageOptions;
    import com.ibm.mq.MQMessage;
    import com.ibm.mq.MQPutMessageOptions;
    import com.ibm.mq.MQQueue;
    import com.ibm.mq.MQQueueManager;
    import com.ibm.mq.MQSimpleConnectionManager;
    import com.river.common.UploadFileUtil;
    
    /**
     * MQ配置 连接信息
     */
    public class MqHandler {
    
    	private static Logger log = Logger.getLogger(MqHandler.class);
    
    	private static String MQ_IP = UploadFileUtil
    			.getFromPro("mqconfig", "MQ_IP");
    
    	private static int MQ_PORT = Integer.parseInt(UploadFileUtil.getFromPro(
    			"mqconfig", "MQ_PORT"));
    	// 队列管理器
    	private static String MQ_QMANAGER = UploadFileUtil.getFromPro("mqconfig",
    			"MQ_QMANAGER");
    	// mq服务方通道
    	private static String MQ_CHANNEL = UploadFileUtil.getFromPro("mqconfig",
    			"MQ_CHANNEL");
    	// mq通讯编码集
    	private static int MQ_CCSID = Integer.parseInt(UploadFileUtil.getFromPro(
    			"mqconfig", "MQ_CCSID"));
    	// mq请求方发送队列
    	private static String MQ_CLENT_SENDQUEUE = UploadFileUtil.getFromPro(
    			"mqconfig", "MQ_CLENT_SENDQUEUE");
    	// mq请求方接收队列
    	private static String MQ_CLENT_RECQUEUE = UploadFileUtil.getFromPro(
    			"mqconfig", "MQ_CLENT_RECQUEUE");
    	
    	// MQ自带连接池
    	private static MQSimpleConnectionManager myConnMan = null;
    	
    	// 异步长连接接收队列管理器
    	private MQQueueManager queueManager = null;
    
    	// 异步发送队列
    	private MQQueue SendQueue = null;
    	// 异步接收队列
    	public MQQueue ReceiveQueue = null;
    	
    	/**
    	 * 构造方法
    	 */
    	public MqHandler() throws Exception {
    		init();
    	}
    
    	/**
    	 * 异步发送消息
    	 * 
    	 * @param msg
    	 * @param messageId
    	 * @param charSet
    	 * @throws Exception
    	 */
    	public void sendMsg(String msg, String messageId, String charSet)
    			throws Exception {
    
    		try {
    
    			if (StringUtil.isEmpty(charSet)) {
    				charSet = "GBK";
    			}
    
    			byte[] msgId = StringUtil.isEmpty(messageId) ? null : messageId
    					.getBytes(charSet);
    
    			// 打开队列
    			queueManager = new MQQueueManager(MQ_QMANAGER, myConnMan);
    			SendQueue = queueManager.accessQueue(MQ_CLENT_SENDQUEUE,
    					MQC.MQOO_OUTPUT | MQC.MQPMO_NEW_MSG_ID
    							| MQC.MQOO_FAIL_IF_QUIESCING, null, null, null);
    
    			// 初始化消息选项
    			MQPutMessageOptions pmo = new MQPutMessageOptions();
    			// 确保每次发送前为消息自动生成唯一的msgId
    			pmo.options = pmo.options + MQC.MQPMO_NEW_MSG_ID;
    			// 如果设置了该参数,则发送后必须调用commit功能。否则无法将消息发送出
    			pmo.options = pmo.options + MQC.MQPMO_SYNCPOINT;
    
    			// 创建消息对象
    			MQMessage outMsg = new MQMessage();
    			// 设置MQMD格式字段
    			outMsg.format = MQC.MQFMT_STRING;
    
    			outMsg.messageId = msgId == null ? MQC.MQMI_NONE : msgId;
    
    			outMsg.encoding = MQ_CCSID;
    			outMsg.characterSet = MQ_CCSID;
    
    			// 消息发送时必须以字节流的方式发送
    			outMsg.write(msg.getBytes(charSet));
    
    			// 在队列上放置消息
    			SendQueue.put(outMsg, pmo);
    
    			// 和MQC.MQPMO_SYNCPOINT属性对应。如果设置了该属性,则发送后需要提交。
    			queueManager.commit();
    
    		} finally {
    			close(SendQueue);
    		}
    
    	}
    
    	/**
    	 * 接收消息
    	 * @param correlationId
    	 * @param charSet
    	 * @return
    	 * @throws Exception
    	 */
    	public String receive(String correlationId, String charSet)
    			throws Exception {
    
    		try {
    			if (StringUtil.isEmpty(charSet)) {
    				charSet = "GBK";
    			}
    			
    			queueManager = new MQQueueManager(MQ_QMANAGER, myConnMan);
    			ReceiveQueue = queueManager.accessQueue(MQ_CLENT_RECQUEUE,
    					MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_INQUIRE
    							| MQC.MQOO_FAIL_IF_QUIESCING);
    
    			MQMessage respMessage = new MQMessage();
    
    			// 设置MQMD 格式字段
    			respMessage.format = MQC.MQFMT_STRING;
    			// 设置编码格式与MQ服务一致
    			respMessage.encoding = MQ_CCSID;
    			// 设置字符集与MQ服务一致
    			respMessage.characterSet = MQ_CCSID;
    
    			MQGetMessageOptions gmo = new MQGetMessageOptions();
    
    			gmo.options = gmo.options + MQC.MQGMO_WAIT; // 如果设置了该参数,则当前线程将阻塞,直到等到回复的消息或超时
    			gmo.waitInterval = MQC.MQWI_UNLIMITED;
    			if (StringUtil.isNotEmpty(correlationId)) {
    				// 如果设置了该参数,则根据消息的correlId去匹配对应的响应消息
    				gmo.matchOptions = MQC.MQMO_MATCH_CORREL_ID;
    				respMessage.correlationId = correlationId.getBytes(charSet);
    			}
    
    			ReceiveQueue.get(respMessage, gmo);
    
    			byte[] msgBuffer = new byte[respMessage.getMessageLength()];
    
    			respMessage.readFully(msgBuffer);
    
    			String respMsg = new String(msgBuffer, charSet);
    
    			return respMsg;
    		} finally {
    			close(ReceiveQueue);
    		}
    	}
    
    	/**
    	 * 初始化连接
    	 * 
    	 * @param type
    	 * @throws MQException
    	 */
    	private void init() throws MQException {
    		MQEnvironment.hostname = MQ_IP;
    		MQEnvironment.port = MQ_PORT;
    		MQEnvironment.CCSID = MQ_CCSID;
    		MQEnvironment.channel = MQ_CHANNEL;
    		MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,
    				MQC.TRANSPORT_MQSERIES_CLIENT);
    		
    		myConnMan = new MQSimpleConnectionManager();
            myConnMan.setActive(MQSimpleConnectionManager.MODE_AUTO);
            myConnMan.setTimeout(3600000);
            myConnMan.setMaxConnections(75);
            myConnMan.setMaxUnusedConnections(50);
            MQEnvironment.setDefaultConnectionManager(myConnMan);
            
    		log.info("初始化队列管理器receiverQueueManager....." + MQ_QMANAGER);
    	}
    
    	private void close(MQQueue queue) {
    
    		try {
    			if (queue != null && queue.isOpen) {
    				queue.close();
    			}
    
    			if (queueManager != null) {
    				queueManager.disconnect();
    			}
    
    		} catch (MQException ex) {
    			log.error("", ex);
    		}
    	}
    }
    
    

    网上类似的代码很多,下面对代码中的细节进行解释。
    初始化
    MQEnvironment的静态属性:hostname、port、CCSID等初始化后,MQQueueManager利用这些属性来构造实例对象。
    MQSimpleConnectionManager是简单的连接池,当设置了连接池后MQEnvironment.setDefaultConnectionManager(myConnMan),再使用close方法时,并不会破坏连接,而是归还池中。

    连接池详细内容可以参考官方的API

    消息参数

    • MQOO_FAIL_IF_QUIESCING
      如果队列管理器停顿就取不到消息
    • MQOO_INPUT_AS_Q_DEF
      读取后消息从队列中移除,与之相对的是MQOO_BROWSE,读取后消息还在。
    • MQGMO_WAIT
      当队列中没有消息时,等待有消息时才返回。相当于阻塞IO。
    • MQWI_UNLIMITED
      无限等待时间,必须设置了waitInterval.xxx并和上条属性结合才能起到阻塞的效果。这个等待时间可为任意值。
    • MQOO_INQUIRE
      如果需要获取队列深度等信息的时候,就要加上此参数。
    • MQPMO_NEW_MSG_ID
      确保每次发送前为消息自动生成唯一的msgId。
    • MQPMO_SYNCPOINT
      如果设置了该参数,则发送后必须调用commit功能。否则无法将消息发送出。queueManager.commit()。

    更多参数参见官方说明

    3.2测试类
    import org.jfree.util.Log;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.junit.runners.JUnit4;
    
    import com.ctjsoft.treasury.util.MqHandler;
    
    @RunWith(JUnit4.class)
    public class MqTest {
    	
    	@Test
    	public void mqSend(){
    		try {
    			MqHandler mq = new MqHandler();
    			mq.sendMsg("sq--send1", null, "gbk");
    			mq.sendMsg("sq--send2", null, "gbk");
    			mq.sendMsg("sq--send3", null, "gbk");
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    	@Test
    	public void mqReceive(){
    		try {
    			MqHandler mq = new MqHandler();
    			String msg = mq.receive(null, "gbk");
    			System.out.println(msg);
    			String msg1 = mq.receive(null, "gbk");
    			System.out.println(msg1);
    			String msg2 = mq.receive(null, "gbk");
    			System.out.println(msg2);
    			System.out.println("任务完成");
    		} catch (Exception e) {
    			Log.error("", e);
    		}
    	}
    
    }
    
    

    测试过程中出现的问题举例:

    • MQJE001: 完成代码是 2,原因为 2033
      当前消息队列为空,如果不是阻塞模式的获取消息,队列为空就会抛出此异常。
    • MQJE001: MQException 出现:完成代码是 2,原因为 2018
      MQJI002: 未连接至队列管理器。

      消息通道服务被关闭
    • 原因为 2080
      代表消息的实际长度超过了你在程序代码中设置的缓冲区长度

    感觉有用请点赞

    展开全文
  • IHS和websphere 6.1的性能调节详解 ,针对was下的性能优化,对于参数的调整做了详细的介绍。
  • 该文档是我初学WAS的服务器部署文档,里面很详细的记录了我没一个操作截图和详细的文字描述。手把手教小白学会部署was。如果看了文档还学不会,那么记得叫人打我,一定要叫人打我!
  • WAS高手资料-基于WAS 6.1的WebSphere Portal 6.1 Cluster配置详解
  • 先在websphere和 weblogic里配置一个数据源,jndi名叫offsetJndi spring里配置数据源 这种配置方法 websphere weblogic通用 [code="java"] offsetJndi [/code] tomcat中...
    先在websphere和 weblogic里配置一个数据源,jndi名叫offsetJndi 
    


    spring里配置数据源 这种配置方法 websphere weblogic通用

    <beans>
    <bean id="dataSource"
    class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
    <value>offsetJndi</value>
    </property>



    tomcat中使用如下方式


    <beans>
    <bean id="dataSource"
    class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
    <value>java:comp/env/offsetJndi</value>
    </property>
    展开全文
  • WebSphere Application Server 是IBM企业级应用服务器,与WAS6,WAS7,WAS8相比较而言 WAS9发生了很大的改变,其安装介质和以前截然不同。本文档用图例的方式详细讲解WebSphere的下载和安装过程,以及部署应用
  • 打开MQ安装程序,选择下一步,默认安装WebSphere MQ, 完成MQ的安装工作,启动WebSphere MQ, 服务器配置,选择新建队列管理器,创建名为"mq"的队列管理器,其他选项默认不变,点...
    1. 打开MQ安装程序,选择下一步,默认安装WebSphere MQ,

      IBM WebSphere MQ安装及配置详解
      IBM WebSphere MQ安装及配置详解
    2. 完成MQ的安装工作,启动WebSphere MQ,

      IBM WebSphere MQ安装及配置详解
      IBM WebSphere MQ安装及配置详解
    3. 服务器配置,选择新建队列管理器,创建名为 "mq"的队列管理器,其他选项默认不变,点"下一步"

      IBM WebSphere MQ安装及配置详解
      IBM WebSphere MQ安装及配置详解
    4. 允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步",完成MQ队列管理器的创建。

      IBM WebSphere MQ安装及配置详解
    5. 新建本地队列,在mq下创建名为"MQ_send"的本地队列(用户可以根据自己的需求更改本地队列的名字和数量),其他选项默认即可。

      IBM WebSphere MQ安装及配置详解
      IBM WebSphere MQ安装及配置详解
    6. 在 mq下创建名为"MQ_CHL"的服务器通道,其他选项默认即可。

      IBM WebSphere MQ安装及配置详解
      IBM WebSphere MQ安装及配置详解
    7. 在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。例如:我的MQ客户端所在的计算机用户名为Administrator,则在服务器端系统中添加名为"Administrator"的用户。具体步骤如下:

      <1>点击 "开始"->"控制面板"->"管理工具"->"计算机管理"->"本地用户和组"->"用户",选择Administrator点右键,打开属性面板,选择“隶属于”把mqmt添加进去。如下图所示:

      (如果客户端计算机使用的其他的用户名,在服务器端新建一个用户名,同样操作,把用户名添加隶属于mqm组里面)

      IBM WebSphere MQ安装及配置详解
      IBM WebSphere MQ安装及配置详解
      IBM WebSphere MQ安装及配置详解
       
      注意:
      1. 客户端连接MQ服务出现2035错误MQRC_NOT_AUTHORIZED

        IBM WebSphere MQ安装及配置详解
      2.  

        找到mq的安装目录下的bin目录,在cmd环境下执行命令runmqsc 然后执行命令 alter qmgr chlauth(disabled) 把权限验证下掉就可以了,如下图所示:

        IBM WebSphere MQ安装及配置详解
      3.  MQ常用命令:

        登录MQI,一般是cd到MQ安装目录下bin,然后切换mqm账户,mqm账户是mq默认的管理员账户。可以使用命令dspmq 查看队列管理器机器状态,若服务未启动,可使用strmqm命令启动服务(注:队列管理器名称是分区大小写的),然后执行runmqsc 队列管理器,即可登录到MQI。

         

        查询CCSID可以使用命令:display qmgr,查看ccsid属性即可。

        查询Listener监听端口,可使用DISPLAY LSSTATUS(*) ALL。查看port属性即可。

        --查看MQ版本--

        dspmqver

        --查看队列状态--
        dspmq

        --创建队列管理器--
        crtmqm -q ECIS_QM

        --删除队列管理器--
        dltmqm ECIS_QM

        --启动队列管理器--
        strmqm ECIS_QM

        --关闭队列管理器--
        endmqm -i ECIS_QM 立即停止
        endmqm -p ECIS_QM 强制停止

        --运行队列管理器--
        runmqsc ECIS_QM

        --定义监听器--
        DEFINE LISTENER(LSR_4_ECIS_QM) TRPTYPE(TCP) PORT(1616) CONTROL(QMGR) REPLACE
        START LISTENER(LSR_4_ECIS_QM)

        --定义通道--
        DEFINE CHANNEL(ECIS.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm') REPLACE

        --启动通道--
        runmqchl –c ChlName –m ECIS_QM

        --启动侦听--
        runmqlsr –t TCP –p 1616 –m ECIS_QM
        endmqlsr -m ECIS_QM

        --定义队列--
        DEFINE QL(Q_SVC2ADP_4_TELNET) REPLACE
        DEFINE QL(Q_SVC2ADP_4_JDBC) REPLACE
        DEFINE QL(Q_SVC2ADP_4_HTTP) REPLACE
        DEFINE QL(Q_SVC2ADP_4_SOCKET) REPLACE

        --删除队列--
        delete QL(Q_SVC2ADP_4_TELNET)

        --查看监听器--
        display listener (LSR_4_ECIS_QM)

        --查看通道--
        dis chs(*)

        --查看通道--
        display ql(*) [all]

        --查看队列深度--
        display ql(Q_SVC2ADP_4_HTTP) curdepth

        --清除队列消息--
        clear ql(Q_SVC2ADP_4_HTTP)

        --查看CCSID--
        display qmgr all

        --修改CCSID--
        ALTER QMGR [FORCE] CCSID(5488)

         

        逻辑定义
        ##################################################
        ./JMSAdmin

        DELETE QCF(T_ECIS_QCF)

        DELETE Q(T_ECIS_Q_SVC2ADP_TELNET) 
        DELETE Q(T_ECIS_Q_ADP2SVC_TELNET)
        DELETE Q(T_ECIS_Q_SVC2ADP_JDBC)
        DELETE Q(T_ECIS_Q_ADP2SVC_JDBC)

        DELETE Q(T_ECIS_Q_SVC2ADP_HTTP)
        DELETE Q(T_ECIS_Q_ADP2SVC_HTTP)
        DELETE Q(T_ECIS_Q_SVC2ADP_SOCKET)
        DELETE Q(T_ECIS_Q_ADP2SVC_SOCKET)

        DEFINE QCF(T_ECIS_QCF) DESC() TRAN(CLIENT) HOST(10.151.128.13) QMGR(T_ECIS_QM) CHAN(T_ECIS.SVRCONN) PORT(2626) CCSID(5488)

        DEFINE Q(T_ECIS_Q_SVC2ADP_TELNET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_TELNET) CCSID(5488)
        DEFINE Q(T_ECIS_Q_ADP2SVC_TELNET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_TELNET) CCSID(5488)
        DEFINE Q(T_ECIS_Q_SVC2ADP_JDBC) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_JDBC) CCSID(5488)
        DEFINE Q(T_ECIS_Q_ADP2SVC_JDBC) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_JDBC) CCSID(5488)

        DEFINE Q(T_ECIS_Q_SVC2ADP_HTTP) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_HTTP) CCSID(5488)
        DEFINE Q(T_ECIS_Q_ADP2SVC_HTTP) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_HTTP) CCSID(5488)
        DEFINE Q(T_ECIS_Q_SVC2ADP_SOCKET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_SOCKET) CCSID(5488)
        DEFINE Q(T_ECIS_Q_ADP2SVC_SOCKET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_SOCKET) CCSID(5488)

         

         

         

         


        WebSphere MQ常用命令及配置
        ################################################## 
        //创建本地队列Q
        DEFINE   QLOCAL (Q)
        //将本地队列Q 的最大深度设置为5
        ALTER QLOCAL (Q) MAXDEPTH(5)
        //重新创建本地队列Q 如果Q已经存在,则将其全部属性重置为缺省属性
        DEFINE QLOCAL (Q) REPLACE
        //创建远程队列
        DEFINE QREMOTE(QRNAME) RNAME(AAA) RQMNAME(QMGRNAME) XMITQ(QTNAME)
        //创建传输队列
        define qlocal(CLV_HQ_TRAN) usage(xmitq) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(REV_CLV) TRIGTYPE(EVERY) TRIGGER REPLACE
        //创建接收端通道C
        DEFINE CHANNEL(C) CHLTYPE(RCVR)
        //创建发送方通道C ,连接对方的IP为10.10.10.10  端口为1414 通道连接的传输队列为XQ
        DEFINE CHANNEL(C) CHLTYPE(SDR) CONNAME(’10.10.10.10 (1414)’) XMITQ(XQ)
        //创建请求方通道
        DEFINE CHANNEL(D) CHLTYPE(RQSTR) CONNAME(’10.10.10.10 (1414)’)
        //创建服务器通道
        DEFINE CHANNEL (D) CHLTYPE(SVR) xmitq (XQ1)
        //创建服务器连接通道
        DEFINE CHANNEL(E) CHLTYPE(SVRCONN)  REPLACE

        //显示所有远程队列
        display qremote (*)
        //显示所有通道
        Display channel (*)

        //定义死信队列
        DEFINE QLOCAL(QUEUE) DEFPSIST(YES) REPLACE

        //设定队列管理器的死信队列
        ALTER QMGR DEADQ(QUEUE)

        设置MaxChannels和MaxActiveChannels属性(最大连接数)
        ##################################################
        MaxChannels和MaxActiveChannels分别代表队列管理器允许配置的通道的最大个数和允许同时运行的通道的个数,MaxChannels的缺省值是100,MaxActiveChannels的缺省值与MaxChannels相同。如果您的并发通道连接个数超过了100,您需要修改这两个参数。这对于大并发的Client/Server间通讯尤为重要。
        在unix平台,修改qm.ini文件,添加如下所示(路径:/var/mqm/qmgrs/HQ_SVR): 
        Channels:
        MaxChannels = 3000   (最大通道数)
        MaxActiveChannels = 3000   (最大活动通道数)
        PipeLineLength=2
        AdoptNewMCA=ALL
        然后重启MQ

         

         

         

         


        //定义持久性队列:
        DEFINE QLOCAL(QNAME) DEFPSIST (YES) REPLACE

        传输队列管理
        ##################################################
        1:定义传输队列
        DEFINE QLOCAL(Q_TRANSFER) USAGE(XMITQ)
        注:
        Q_TRANSFER:传输队列名

        下面定义一个输入队列并带触发器
        DEFINE QLOCAL(Q_TRANSFER) USAGE(XMITQ) DEFPSIST(YES)  INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(DP_RCHANNEL) REPLACE
        注:
        参数1:传输队列名称(Q_TRANSFER)
        参数5:触发器数据(DP_RCHANNEL),也就是触发后要启动的通道。

        2:在传输入队列上定义触发器
        DPCIS_Q_TRANSFER:传输队列
        触发器数据:DP_RCHANNEL,即:发送通道,触发时启动该通道
        alter qlocal(DPCIS_Q_TRANSFER) TRIGDATA('DP_RCHANNEL') TRIGTYPE(every) TRIGGER initq('SYSTEM.CHANNEL.INITQ')

        远程队列管理
        ##################################################
        通过输入以下命令来定义远程队列定义:
        define qremote(Q1) rname(Q1) rqmname(QM_APPLE) xmitq(QM_APPLE)
        注:
        参数1:队列名称(发送方远程队列名)
        参数2:远程队列(接收方的本地接收队列名)
        参数3:远程队列管理器(接收方队列管理器名)
        参数4:传输队列(发送方传输队列名)

        通道管理
        ##################################################
        1:创建接收方通道
        DEFINE CHANNEL(SDR_ TEST)  CHLTYPE(RCVR)  REPLACE 
        define channel(Q_R_CHANNEL2) chltype(RCVR) replace
        注:
        参数1:接收方通道名称
        replace:表示有该通道了替换

        2:创建发送方通道 
        DEFINE CHANNEL(SDRNAME)  CHLTYPE(SDR)  CONNAME (‘100.100.100.215(1418)’)  XMITQ(QTNAME)  REPLACE
        其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。

        define channel(DP_RCHANNEL) chltype(SDR) conname('10.101.2.3 (1414)') xmitq(Q_TRANSFER) replace
        注:
        通道名称:DP_RCHANNEL (发送方通道的名称) 
        传输队列:Q_TRANSFER  (发送方传输队列的名称)

        3:启动通道
        start channel(QM_ORANGE.QM_APPLE)

        4:查看通道状态
        dis chs(*)

        侦听器管理
        ##################################################
        1:定义侦听器
        DEFINE LISTENER(TCPLS1) TRPTYPE(TCP) PORT(1414)  REPLACE

        2:启动侦听器
        start listener(TCPLS1)
        3:显示侦听器信息
        display listener(tcpls1)

        创建触发
        ##################################################
        一般设置MQ触发器的目的有两种, 一是自动启动发送端通道, 二是监视队列消息, 一旦发现新的消息, 则利用触发器启动相应的处理进程
        如果是利用触发器自动启动发送端通道, 使用方法1, 如果是利用触发器启动用户进程, 使用方法2

        方法1
        A 在传输通道上设置触发器, 打开触发器控制, 类型为"第一个"
        B 初始队列为SYSTEM.CHANNEL.INITQ, 该队列为MQ专用的通道启动队列, 不需要手工启动其触发监视器
        C 触发器数据为发送端通道名称, 例如 QAG.50
        D 在发送端通道不活动的情况下, 在传输通道放入消息测试

        方法2
        A 创建一个触发启动队列, 其模板为SYSTEM.DEFAULT.INITIATION.QUEUE
        runmqsc
        define qlocal (MQ.TRIGER.INIQUEUE) like (SYSTEM.DEFAULT.INITIATION.QUEUE)
        B 定义进程 所谓进程就是触发器要触发的程序本例中进程名称:TRIGER.PROGRAM 应用程序标识为:"Notepad.exe"
        C 在队列上设置触发器, 一般为本地队列, 打开触发器控制, 类型根据自己的需要选择"第一个", "每个" 还是 "根据消息数量"
        D 初始队列选择A中创建的触发启动队列, 例如MQ.TRIGER.INIQUEUE, 进程名称设置为B中定义的进程名称, 例如TRIGER.PROGRAM
        E 启动触发监视器 runmqtrm -m QAGWY -q MQ.TRIGER.INIQUEUE
        F 在本地队列放入消息进行测试

        方法2也可以完成方法1的工作, 只需要将进程定义中的应用程序标识改为 runmqchl -m QAGWY -c QAG.50 就可以了, 但MQ中提供了专用的通道启动队列,
        而该队列不需要手工启动触发监视器, 因此方法1比方法2的步骤要少, 配置也简单, 所以在利用触发器自动启动发送端通道的情况下, 还是方法1更好.

    转载于:https://www.cnblogs.com/songjn/p/8514904.html

    展开全文
  • WebSphere® Integration Developer 的先前版本无法升级到版本 7.0。不同版本的 WebSphere Integration Developer 可以在工作站上共存,但它们不得安装在同一目录中WebSphere Integration Developer 功能部件。功能...
  • Install, Config WebSphere Portal 6.0 with DB2 8.2.5详解 ……
  • rm -rf /home/wasapp/IBM/WebSphere/AppServer/profiles/AppSrv03/installedApps/localhostNode03Cell/SunTXM_war.ear rm -rf /opt/IBM/WebSphere/AppServer/profiles/AppSrv02/installedApps/cicNode01Cell/
  • WebSphere中流行数据库连接池的配置 本文介绍WebSphere下Oracle、SQL Server、Sybase、MySQL数据库连接池的配置方法,并给出相应调用连接池的示例。相对于Weblogic,WebSphere连接池的配置要稍微复杂一些,因为缺少...
  • Websphere MQ消息序号Message Sequence详解

    千次阅读 2016-07-03 01:00:12
    一.什么是MQ的消息序号?  通道为每一条消息的传送分配了一个序列号,它会自动累计增值。  消息序列号由发送通道分配,是通道的一个永久属性,每当发送一条消息,消息序列号就加一。  通道的相关属性SEQWRAP ...
  • http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0812_cuiye/ ...集群是搭建高可用性环境的有效解决...本文将向您介绍 WebSphere Portal V6.1 集群的搭建过程,配置过程中经常遇到的问题及
  • websphere V6.1 入门教程详解 公司在服务器上使用的是linux+ibm was7(websphere application server v7.0) 与服务器连接的方式是采用基于ssh协议的方式。在这里顺便来谈谈ssh。此ssh(security shell 字面意思,...
  • WebSphere服务器 启动和停止 命令详解

    千次阅读 2008-04-08 15:00:00
    用法:stopServer [options] options: -nowait -quiet -logfile -replacelog -trace -timeout -statuspo

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,342
精华内容 1,336
关键字:

websphere详解