如何连接到远程JMS提供程序?

如何连接到远程JMS提供程序?,jms,ibm-mq,Jms,Ibm Mq,我需要高级步骤来连接到远程JMS提供程序 我有一些客户机应用程序,它希望在基于文件系统的JNDI中查找,以获得JMS提供程序的连接工厂 我知道在JMS管理(MQ Explorer)中,我们可以创建连接工厂。这是在创建.bindings文件。如何在客户端应用程序系统中使用此.bindings文件 客户端应用程序系统是否应包含JMS管理员以在同一系统中创建.bindings,还是应将.bindings单独导入客户端系统 如果使用文件系统,则指定.binding的路径将作为提供程序url提供。此提供程

我需要高级步骤来连接到远程JMS提供程序

我有一些客户机应用程序,它希望在基于文件系统的JNDI中查找,以获得JMS提供程序的连接工厂

我知道在JMS管理(MQ Explorer)中,我们可以创建连接工厂。这是在创建.bindings文件。如何在客户端应用程序系统中使用此.bindings文件

客户端应用程序系统是否应包含JMS管理员以在同一系统中创建.bindings,还是应将.bindings单独导入客户端系统

如果使用文件系统,则指定.binding的路径将作为提供程序url提供。此提供程序url(例如:F:/JMS)似乎是JMS提供程序系统中存在的路径。如果在客户端系统中导入了.bindings文件,那么客户端如何识别.bindings文件的路径

当使用MQClient模式时,在连接工厂定义中使用ServerConnection通道的目的是什么?当JMS客户机通过JNDI绑定连接时,为什么需要服务器连接通道?

Q1)

.bindings文件必须放在客户端系统可以访问的文件服务器上。例如,将.bindings文件放在文件服务器MyFileSvr的D:\JNDI目录文件夹中。然后,在您的客户机中,D:\文件夹必须作为驱动器装入,例如作为F驱动器装入。然后在应用程序中,您可以引用.bindings文件作为

  // Instantiate the initial context
  String contextFactory = "com.sun.jndi.fscontext.RefFSContextFactory";
  Hashtable<String, String> environment = new Hashtable<String, String>();
  environment.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
  environment.put(Context.PROVIDER_URL, "file:/F:/JNDI-Directory");
  Context context = new InitialDirContext(environment);
  System.out.println("Initial context found!");

  // Lookup the connection factory
  JmsConnectionFactory cf = (JmsConnectionFactory) context.lookup(connectionFactoryFromJndi);
请参见上面Q1的答案。最好将绑定文件保存在共享驱动器上,以便多个客户端应用程序可以访问

问题3)

再次查看Q1的答案

第四季度)

服务器连接通道定义连接到IBM MQ队列管理器的MQ客户端应用程序(JMS或其他)所需的属性。JNDI绑定中的连接工厂对象将定义以下内容,以便应用程序连接到IBM MQ队列管理器

1) 正在运行队列管理器的主机名

2) 队列管理器正在侦听的端口

3) 服务器连接通道名称

4) 队列管理器名称

JNDI绑定和服务器连接通道的底线是不同的

请阅读IBM MQ的在线文档以及MQ红皮书。

Q1)

.bindings文件必须放在客户端系统可以访问的文件服务器上。例如,将.bindings文件放在文件服务器MyFileSvr的D:\JNDI目录文件夹中。然后,在您的客户机中,D:\文件夹必须作为驱动器装入,例如作为F驱动器装入。然后在应用程序中,您可以引用.bindings文件作为

  // Instantiate the initial context
  String contextFactory = "com.sun.jndi.fscontext.RefFSContextFactory";
  Hashtable<String, String> environment = new Hashtable<String, String>();
  environment.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
  environment.put(Context.PROVIDER_URL, "file:/F:/JNDI-Directory");
  Context context = new InitialDirContext(environment);
  System.out.println("Initial context found!");

  // Lookup the connection factory
  JmsConnectionFactory cf = (JmsConnectionFactory) context.lookup(connectionFactoryFromJndi);
请参见上面Q1的答案。最好将绑定文件保存在共享驱动器上,以便多个客户端应用程序可以访问

问题3)

再次查看Q1的答案

第四季度)

服务器连接通道定义连接到IBM MQ队列管理器的MQ客户端应用程序(JMS或其他)所需的属性。JNDI绑定中的连接工厂对象将定义以下内容,以便应用程序连接到IBM MQ队列管理器

1) 正在运行队列管理器的主机名

2) 队列管理器正在侦听的端口

3) 服务器连接通道名称

4) 队列管理器名称

JNDI绑定和服务器连接通道的底线是不同的

请阅读IBM MQ的在线文档以及MQ红皮书。

Q1)

.bindings文件必须放在客户端系统可以访问的文件服务器上。例如,将.bindings文件放在文件服务器MyFileSvr的D:\JNDI目录文件夹中。然后,在您的客户机中,D:\文件夹必须作为驱动器装入,例如作为F驱动器装入。然后在应用程序中,您可以引用.bindings文件作为

  // Instantiate the initial context
  String contextFactory = "com.sun.jndi.fscontext.RefFSContextFactory";
  Hashtable<String, String> environment = new Hashtable<String, String>();
  environment.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
  environment.put(Context.PROVIDER_URL, "file:/F:/JNDI-Directory");
  Context context = new InitialDirContext(environment);
  System.out.println("Initial context found!");

  // Lookup the connection factory
  JmsConnectionFactory cf = (JmsConnectionFactory) context.lookup(connectionFactoryFromJndi);
请参见上面Q1的答案。最好将绑定文件保存在共享驱动器上,以便多个客户端应用程序可以访问

问题3)

再次查看Q1的答案

第四季度)

服务器连接通道定义连接到IBM MQ队列管理器的MQ客户端应用程序(JMS或其他)所需的属性。JNDI绑定中的连接工厂对象将定义以下内容,以便应用程序连接到IBM MQ队列管理器

1) 正在运行队列管理器的主机名

2) 队列管理器正在侦听的端口

3) 服务器连接通道名称

4) 队列管理器名称

JNDI绑定和服务器连接通道的底线是不同的

请阅读IBM MQ的在线文档以及MQ红皮书。

Q1)

.bindings文件必须放在客户端系统可以访问的文件服务器上。例如,将.bindings文件放在文件服务器MyFileSvr的D:\JNDI目录文件夹中。然后,在您的客户机中,D:\文件夹必须作为驱动器装入,例如作为F驱动器装入。然后在应用程序中,您可以引用.bindings文件作为

  // Instantiate the initial context
  String contextFactory = "com.sun.jndi.fscontext.RefFSContextFactory";
  Hashtable<String, String> environment = new Hashtable<String, String>();
  environment.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
  environment.put(Context.PROVIDER_URL, "file:/F:/JNDI-Directory");
  Context context = new InitialDirContext(environment);
  System.out.println("Initial context found!");

  // Lookup the connection factory
  JmsConnectionFactory cf = (JmsConnectionFactory) context.lookup(connectionFactoryFromJndi);
请参见上面Q1的答案。最好将绑定文件保存在共享驱动器上,以便多个客户端应用程序可以访问

问题3)

再次查看Q1的答案

第四季度)

服务器连接通道定义连接到IBM MQ队列管理器的MQ客户端应用程序(JMS或其他)所需的属性。JNDI绑定中的连接工厂对象将定义以下内容,以便应用程序连接到IBM MQ队列管理器

1) 正在运行队列管理器的主机名

2) 队列管理器正在侦听的端口

3) 服务器连接通道名称

4) 队列管理器名称

JNDI绑定和服务器连接通道的底线是不同的

请阅读IBM MQ的在线文档以及MQ红皮书

 And What is the purpose of having ServerConnection channel in the Connection Factories definition when MQClient mode is used? When the JMS client connects through JNDI bindings ,why Server Connection channel is required?