jboss и sonic mq не играют красиво - PullRequest
0 голосов
/ 12 января 2012

Вот то, против чего я бьюсь в течение дня.
У меня есть более старая версия jboss (jboss4), и из нее я запускаю некоторый код, чтобы выйти и подключиться к реализации sonic mq (7.6, я думаю), где я работаю как клиент. Я бегу Java 1.6.0_23. При этом я вижу очень странное поведение, которое, похоже, не могу понять.

Когда мой процесс запускается, я загружаю все jndi-реквизиты, которые мне нужны, чтобы установить соединение с сервером sonic mq, затем я выкрикиваю вот так

Context ic = new InitialContext(jndiEnv);

однако я не вижу движения на моей проволочной акуле в тот момент, и это сбивает меня с толку. В конце концов это время ожидания даст мне исключение

javax.naming.NamingException.  Root exception is com.sonicsw.mf.comm.ConnectTimeoutException: Timeout occured while attempting to connect

Настоящий удар по зубам в том, что я запускаю свой процесс из автономного jar (а не изнутри jboss) на том же сервере, и он подключается нормально?

Ответы [ 2 ]

4 голосов
/ 19 февраля 2012

Эй, кто сталкивался с этим ... Итак, я решил свою проблему и подумал, что поделюсь ею ...

оказывается, что даже звуковая техническая команда сказала, что их код никогда не смотрит на переменную jvm javax.ssl.keystore ... он делает ...

Это было установлено так javax.ssl.keystore = C: что-то что приведет к зависанию исходного поколения контекста до истечения времени ожидания. Однако это javax.ssl.keystore = C: \ что-то должно сработать. и если он не установлен, он также будет работать ...

Я бы ожидал, что будет выдвинуто какое-то исключение:

Надеюсь, это кому-нибудь когда-нибудь поможет! :)

спасибо J

0 голосов
/ 13 января 2012

Две вещи:
Можете ли вы проверить необходимые файлы jar в пути к классам на сервере JBoss?
Устанавливаете ли вы свойство доменного имени Sonic MQ, которое необходимо для получения исходного объекта контекста ref службы звукового каталога?1003 *

private Properties getConnectionEnv(String initialContextFactory,String providerURL, String domain, String userName, String password) {
  Properties connectionEnv = new Properties();
  if (initialContextFactory != null && initialContextFactory.length() != 0) {
    connectionEnv.put(Context.INITIAL_CONTEXT_FACTORY,initialContextFactory);
  }
  if (providerURL != null && providerURL.length() != 0)
    connectionEnv.put(Context.PROVIDER_URL, providerURL);
  if (domain != null && domain.length() != 0)
    connectionEnv.put("com.sonicsw.jndi.mfcontext.domain", domain); 
  if (userName != null && userName.length() != 0) {
    connectionEnv.put(Context.SECURITY_PRINCIPAL, userName);
    connectionEnv.put(Context.SECURITY_CREDENTIALS, password);
  }
  return connectionEnv;
}

Надеюсь, это поможет вам ..

GK

...