跳到主要内容

创建JMS连接

当设置了适当的 JMS 属性值后,调用以下方法之一来创建 JMS 连接:

  • createConnection() — 使用通过系统、初始上下文、JNDI、URL 和/或连接工厂属性源提供的客户端身份验证凭据创建 JMS 连接。

  • createXAConnection() — 使用通过系统、初始上下文、JNDI、URL 和/或连接工厂属性源提供的客户端身份验证凭据创建支持 XA 会话的 JMS 连接。

  • createConnection(String username, String password) — 当使用基本客户端身份验证(默认值)时,此方法使用显式用户名和密码创建 JMS 连接。提供的用户名和密码将覆盖通过其他 JMS 属性源隐式设置的任何值。

  • createXAConnection(String username, String password) — 当使用基本客户端身份验证(默认值)时,使用此方法通过显式用户名和密码建立支持 XA 会话的 JMS 连接。提供的用户名和密码将覆盖通过其他 JMS 属性源隐式设置的任何值。

  • 如果从事件代理查找连接工厂或 XA 连接工厂对象(参阅使用 JNDI),则 JNDI 连接设置的属性将被随后的 JMS 连接继承。客户端可以使用这些相同的 JMS 属性进行 JMS 连接,也可以在建立 JMS 连接时选择用新值覆盖它们。有关可以在何处指定每个属性以及根据指定位置给予属性的优先级的信息,请参阅 JMS 属性参考。

  • 默认情况下,每个创建的 JMS 连接都使用自己的处理上下文和线程。如果希望每个新连接使用默认上下文及其单个处理线程,请将 InitialContext 环境属性 SOLACE_JMS_USE_DEFAULT_CONTEXT 设置为 true

启动JMS连接

要开始通过 JMS 连接接收消息,客户端应用程序必须在建立连接后调用 start() 方法。

停止或关闭JMS连接

要停止或关闭 JMS 连接,调用以下方法之一:

  • Connection.stop() — 暂时停止通过连接接收传入消息。当连接停止时,消息向连接的消费者的传递被抑制:同步接收阻塞,消息不会传递给消息监听器。要重新启动消息的传递,请调用 Connection.start()

使用保证传输时,当连接停止时,发布的非持久化和持久化消息会为消费者进行转储;当连接重新启动时,转储的消息将被传递。使用直接传输时,当连接停止时,非持久化消息不会为消费者进行转储,而是被丢弃。

  • Connection.close() — 关闭连接。