2014-09-29 3 views
0

Я хочу выполнить шаги высокого уровня для подключения к удаленному провайдеру JMS.Как подключиться к удаленному провайдеру JMS?

У меня есть клиентское приложение, которое хочет искать в JNDI на FileSystem, чтобы получить фабрику соединений для JMS-провайдера.

Я понимаю, что в JMS Administeration (MQ Explorer) мы можем создать фабрики Connection. Это создает файл .bindings. Как я могу использовать этот файл .bindings в моей клиентской прикладной системе?

Если система клиентского приложения содержит администратор JMS для создания .bindings в той же системе или только отдельные имена должны быть импортированы в клиентскую систему?

Если используется Файловая система, то путь, определяющий .binding, указывается как URL-адрес провайдера. Этот URL-адрес провайдера (EG: F:/JMS), по-видимому, представляет собой путь, присутствующий в системе JMS Provider. Если файл данных импортируется в клиентскую систему, то как клиент может распознать путь к файлу .bindings?

И какова цель использования канала ServerConnection в определении соединений, когда используется режим MQClient? Когда JMS-клиент подключается через привязки JNDI, зачем нужен канал подключения к серверу?

ответ

2

Q1)

How can I use this .bindings file into my client application system? 

.bindings файл должен быть помещен на файловом сервере, который может быть доступ к вашей клиентской системе. Например, поместите файл .bindings в файловый сервер MyFileSvr в папку D: \ JNDI-Directory. Затем в вашей клиентской машине папка 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); 

Q2)

Should the Client Application system contain the JMS Administerator to create the .bindings in the same system?or .bindings alone should be imported to the client system? 

Смотрите ответ на Q1 выше. Хорошая практика - сохранить файл привязок на общем диске, чтобы доступ к нескольким клиентским приложениям.

Q3)

If Filesystem is used,then a path specifying the .binding is given as Provider url.This provider url (EG: F:/JMS) seems to be the path present in JMS Provider system.If .bindings file imported in client system,then how the client can recognise the path of .bindings file? 

Снова видим ответ на Q1.

В4)

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? 

Соединение сервера канал определяет требуемые свойства для клиентских приложений MQ (JMS или иным образом) подключаются к менеджеру очередей IBM MQ. Объект фабрики соединений в JNDI привязок будет, среди прочего, следующие определенные для приложения для подключения к менеджеру очередей IBM MQ

1) имя хоста, где менеджер очередей работает

2) порт, в котором менеджер очередей Слушает

3) Название канала подключения к серверу.

4) Имя менеджера очереди.

Нижняя строка Связи JNDI и канал соединения с сервером не совпадают.

Прочитайте онлайн-документацию IBM MQ, а также MQ Redbooks.

Смежные вопросы