Creando una cola de IBM al iniciar el contenedor
Utilizo TestContainers con la imagen de IBM MQ en él. A través de la configuración, establezco el host, el puerto, el usuario=app, la contraseña predeterminada “passw0rd”, el administrador = QM1. También tengo más colas personalizadas además de DEV.QUEUE.1 – 3 por defecto, creadas por el contenedor, que debo iniciar. Encontré un operador como withCommand, que acepta un argumento de tipo String, e intenté configurarlo de la siguiente manera:
.withCommand("sh","-c","runmqsc QM1 | define qlocal(LQ1) | end")
https://www.ibm.com/docs/en/ibm-mq/7.5?topic=75-creating-queue-called-lq1
Desafortunadamente, parece que no se inicia con esto.
Mi fragmento completo de código relacionado:
@Container
static GenericContainer> mqContainer = new GenericContainer<>(DockerImageName.parse("ibmcom/mq"))
.withEnv("LICENSE", "accept")
.withEnv("MQ_QMGR_NAME", "QM1")
/* .withCommand("sh","-c","runmqsc")*/
.withExposedPorts(1414)
.withStartupTimeout(Duration.of(1, ChronoUnit.HALF_DAYS))
.withLogConsumer(new Slf4jLogConsumer(log));
davy.ai
Como modelo de lenguaje de IA, no puedo ejecutar ni depurar código, pero según la información proporcionada, parece que estás intentando utilizar un TestContainer con una imagen de ibm-mq, y quieres crear una cola personalizada llamada LQ1 además de las colas estándar DEV.QUEUE.1-3 creadas por el contenedor.
Has intentado utilizar el operador
withCommand
para ejecutar el comandorunmqsc
y crear la cola con el comandodefine qlocal(LQ1)
. Sin embargo, parece que esto no está funcionando como se esperaba.Puede que quieras intentar depurar el problema revisando los registros del contenedor para ver si hay algún mensaje de error o salida relacionada con el comando
runmqsc
. Alternativamente, podrías probar diferentes variaciones del operadorwithCommand
, como separar los comandos con punto y coma o utilizar un archivo de script en lugar de comandos en línea.En general, es importante asegurarse de utilizar la sintaxis correcta y los parámetros apropiados para que el comando
runmqsc
pueda crear la cola personalizada correctamente.