В IBM MQ v8 KC есть страница " Запуск классов IBM MQ для приложений Java в Java Security Manager ".
На этой странице указано, что относится к клиентским соединениям MQ:
//For the client transport type.
permission java.net.SocketPermission "*","connect,resolve";
Единственное, что я заметил, это отсутствие пробелов в приведенном выше примере по сравнению с тем, что вы опубликовали, также вам не нужно было бы предоставлять разрешение accept
, и я также заметил в sunдокументация о том, что resolve
подразумевается с connect
, поэтому в этом нет особой необходимости.
Существует множество других настроек, связанных с другими разрешениями, которые могут вам понадобиться, поэтому я предлагаю рассмотреть приведенную выше страницу для получения более подробной информации..
Вы можете взять трассировку IBM MQ Classes for Java, используя следующее системное свойство java:
-Dcom.ibm.msg.client.commonservices.trace.status=ON
По умолчанию трассировка будет выводиться в файл в текущем каталоге с именемmqjms_%PID%.trc
, где %PID%
заменяется идентификатором вашего процесса Java.
Если вы хотите указать другое имя файла или путь, вы можете добавить следующееСистемное свойство java:
-Dcom.ibm.msg.client.commonservices.trace.outputName=/tmp/x/y/z/mqjms_%PID%.trc
Пример команды с обоими:
java -Dcom.ibm.msg.client.commonservices.trace.status=ON -Dcom.ibm.msg.client.commonservices.trace.outputName=mqjms_%PID%.trc SomeJavaApp
Может помочь трассировка менеджера безопасности Java, вы можете включить ее, добавив следующую систему Javaсвойство:
-Djava.security.debug="access,failure"