Как я могу добавить этому пользователю разрешение на размещение сообщений в диспетчере очередей из приложения JMS?

Ребята, у меня есть приложение JMS, целью которого является отправка сообщений диспетчеру очередей QM1 в локальную очередь DEV.QUEUE.1

Это набор переменных, которые у меня есть.

        private static final String HOST = "34.140.229.148"; // Host name or IP address
    private static final int PORT = 1414; // Listener port for your queue manager
    private static final String CHANNEL = "DEV.APP.SVRCONN"; // Channel name
    private static final String QMGR = "QM1"; // Queue manager name
    private static final String MQ_APP_USER = "admin"; // User name that application uses to  connect to MQ
    private static final String MQ_APP_PASSWORD = "8ATf5a3e4LP8awHpJmm85knh"; //    Password that the application uses to connect to MQ
    private static final String QUEUE_NAME = "DEV.QUEUE.1"; // Queue that the application uses to put and get messages to and from

Я думаю, что приведенные выше объявления хороши, потому что, когда я запускаю приложение JMS, я получаю сообщение об ошибке, в котором говорится, что соединение действительно было установлено, но оно было преждевременно разорвано из-за проблем с авторизацией. Когда я анализирую это сам, я думаю, что у меня нет разрешения на размещение каких-либо сообщений (только мой личный вывод)

Это ошибка, которую я получаю

а вот моя консоль веб-конфигуратора, по какой-то странной причине я не могу предоставить пользователю admin права

Я попытался предоставить права пользователя, но элементы управления отключены.

Похоже, вы используете конфигурацию разработчика по умолчанию, которая настраивает правильную политику для пользователя приложения для помещения/получения сообщений в очереди. Пользователь-администратор настраивается с помощью консоли IBM MQ. Вы не смогли начать работу с пользователем приложения?

richc 21.05.2024 14:38
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
63
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Мне удалось решить эту проблему. Оказывается, вам нужно сначала предоставить разрешения в QMGR, а затем предоставить их в локальной очереди, в которую вы хотите отправлять сообщения.

Ответ принят как подходящий

Если вы работаете с IBM MQ Advanced for Developers в качестве образа контейнера или следуете серии руководств Learn-mq , то менеджер очередей будет настроен с использованием конфигурации разработчика по умолчанию. Сюда входит политика безопасности, позволяющая пользователю app использовать канал DEV.APP.SVRCONN для обмена сообщениями, а пользователю admin — канал DEV.ADMIN.SVRCONN, а также консоль IBM MQ.

В этом случае конфигурация предполагает, что пользователь admin пытается подключиться к администратору очередей через канал DEV.APP.SVRCONN, что приводит к ошибке 2035. Переключение на пользователя app для работы с сообщениями должно решить проблему и избежать изменения конфигурации разработчика по умолчанию для тестирования. .

Другие вопросы по теме