Assistance Required: ActiveMQ Bridge Connection Failing with UnknownHostException for Container Pod Host

130 views
Skip to first unread message

Sumi Vadhul

unread,
Feb 26, 2025, 11:24:41 AM2/26/25
to WildFly

Hi Team,

We are attempting to establish an ActiveMQ bridge connection from our classic environment to a containerized environment. While we have been able to successfully make a JMX call, we are encountering an issue with the bridge connection where Netty is throwing an UnknownHostException for the container pod host.

We have already attempted to resolve this by adding the host parameter in the Netty configuration with the fully qualified domain name (FQDN). However, despite this, it seems to still resolve the hostname using the pod name instead of the FQDN.

Could you please assist us with this issue and provide guidance on how to ensure the bridge connection uses the correct FQDN for the pod?

Thank you in advance for your help!

Sayantan Ganguly

unread,
Feb 28, 2025, 12:08:26 PM2/28/25
to WildFly
Ditto...we are facing the same problem

We are connecting to an activemq server (2.19.1) of Wildfly 26.1.3 which is hosted in kubernetes environment from outside the network using the external access host (master node fqdn of the k8s cluster).

The client is also running the same combination of activemq server (2.19.1) on Wildfly 26.1.3. Basically, it is a bridge connection using the activemq client of wildfly-client-all jars in the client side.

Getting the Unknown host exception in client side, in the error the pod name is returned which is defined in the /etc/hosts file of the pod and the client is unaware of as it is an internal kubernetes pod ip.

javax.jms.ConnectionFactory  createConnection()

2025-02-27 03:52:37.142 ERROR [org.apache.activemq.artemis.core.client] AMQ214016: Failed to create netty connection: java.net.UnknownHostException: <service-name>-5f7ffbdddb-pkx74
        at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:797)
        at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1533)
        at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1386)
        at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1307)
        at java.base/java.net.InetAddress.getByName(InetAddress.java:1257)
        at io.netty.n...@4.1.79.Final//io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:156)
        at io.netty.n...@4.1.79.Final//io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:153)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at io.netty.n...@4.1.79.Final//io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:153)
        at io.netty.ne...@4.1.79.Final//io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:41)
        at io.netty.ne...@4.1.79.Final//io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:61)
        at io.netty.ne...@4.1.79.Final//io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:53)
        at io.netty.ne...@4.1.79.Final//io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:55)
        at io.netty.ne...@4.1.79.Final//io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:31)
        at io.netty.ne...@4.1.79.Final//io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:106)
        at io.netty.net...@4.1.79.Final//io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:206)
        at io.netty.net...@4.1.79.Final//io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:46)
        at io.netty.net...@4.1.79.Final//io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:180)
        at io.netty.net...@4.1.79.Final//io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:166)
        at io.netty.n...@4.1.79.Final//io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578)
        at io.netty.n...@4.1.79.Final//io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:552)
        at io.netty.n...@4.1.79.Final//io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491)
        at io.netty.n...@4.1.79.Final//io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616)
        at io.netty.n...@4.1.79.Final//io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:605)
        at io.netty.n...@4.1.79.Final//io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104)
        at io.netty.net...@4.1.79.Final//io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
        at io.netty.net...@4.1.79.Final//io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:990)
        at io.netty.net...@4.1.79.Final//io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:516)
        at io.netty.net...@4.1.79.Final//io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:429)
        at io.netty.net...@4.1.79.Final//io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:486)
        at io.netty.n...@4.1.79.Final//io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
        at io.netty.n...@4.1.79.Final//io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
        at io.netty.n...@4.1.79.Final//io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
        at io.netty.netty-tra...@4.1.79.Final//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:394)
        at io.netty.n...@4.1.79.Final//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at io.netty.n...@4.1.79.Final//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at org.apache.activemq.artemis.journal//org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)


1. The external connecting party will not be aware of the pod name, so how can we bring up activemq in the k8s with the external access host/ master node?
2. The connection is external and not aware of service name of pod as well, so the tcp connection has to be established using the external access host only.

Any pointer would be very helpful!!

Thanks

Sayantan Ganguly

unread,
Mar 3, 2025, 3:21:03 AM3/3/25
to WildFly
Any pointers here?

Emmanuel Hugonnet

unread,
Mar 3, 2025, 5:04:51 AM3/3/25
to Sayantan Ganguly, WildFly
You must disable the use of topology for load balancing [1] in your connection factory so that it will reuse the initial connection instead
of creating a new one on the internal IP/name.

Emmanuel

[1]: https://docs.wildfly.org/34/wildscribe/subsystem/messaging-activemq/connection-factory/index.html#attr-use-topology-for-load-balancing


Le 03/03/2025 à 09:21, Sayantan Ganguly a écrit :
> Any pointers here?
>
> On Friday, February 28, 2025 at 10:38:26 PM UTC+5:30 Sayantan Ganguly wrote:
>
> Ditto...we are facing the same problem
>
> We are connecting to an *activemq server (2.19.1) of Wildfly 26.1.3* which is hosted in kubernetes environment from outside the
> network using the external access host (master node fqdn of the k8s cluster).
>
> The client is also running the same combination of *activemq server (2.19.1) on Wildfly 26.1.3*. Basically, it is a bridge connection
> using the activemq client of wildfly-client-all jars in the client side.
>
> Getting the Unknown host exception in client side, in the error the pod name is returned which is defined in the /etc/hosts file of
> the pod and the client is unaware of as it is an internal kubernetes pod ip.
>
> javax.jms.ConnectionFactory  createConnection()
>
> 2025-02-27 03:52:37.142 ERROR [org.apache.activemq.artemis.core.client] AMQ214016: Failed to create netty connection:
> *java.net.UnknownHostException: <service-name>-5f7ffbdddb-pkx74*
> We are attempting to establish an ActiveMQ bridge connection from our *classic environment* to a *containerized environment*.
> While we have been able to successfully make a JMX call, we are encountering an issue with the bridge connection where Netty is
> throwing an UnknownHostException for the container pod host.
>
> We have already attempted to resolve this by adding the *host parameter* in the Netty configuration with the fully qualified
> domain name (FQDN). However, despite this, it seems to still resolve the hostname using the *pod name* instead of the FQDN.
>
> Could you please assist us with this issue and provide guidance on how to ensure the bridge connection uses the correct FQDN for
> the pod?
>
> Thank you in advance for your help!
>
> --
> You received this message because you are subscribed to the Google Groups "WildFly" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to wildfly+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/wildfly/4d482407-1dee-415b-9cfa-97de128620e3n%40googlegroups.com
> <https://groups.google.com/d/msgid/wildfly/4d482407-1dee-415b-9cfa-97de128620e3n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Sayantan Ganguly

unread,
Mar 3, 2025, 7:23:44 AM3/3/25
to WildFly
hi  Emmanuel,

Thanks for the suggestion!

I tried the configuration in the cf of the k8s deployment, use-topology-for-load-balancing="false"

But still the client is trying to connect using internal ip.

DEBUG [org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@1e819723 and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?trustStorePassword=***&port=1234&sslEnabled=true&host=<service-name>-5f7ffbdddb-5dr5t&verifyHost=false

Thanks,
Sayantan

Emmanuel Hugonnet

unread,
Mar 3, 2025, 9:43:47 AM3/3/25
to Sayantan Ganguly, WildFly
How do you get the connection factory as the URL you are providing doesn't have the use-topology-for-loadbalancing is not present ?
Emmanuel
> <https://groups.google.com/d/msgid/wildfly/4d482407-1dee-415b-9cfa-97de128620e3n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google Groups "WildFly" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to wildfly+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/wildfly/f6e5d919-c77f-458a-ae96-d2dfe98c4221n%40googlegroups.com
> <https://groups.google.com/d/msgid/wildfly/f6e5d919-c77f-458a-ae96-d2dfe98c4221n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Sayantan Ganguly

unread,
Mar 3, 2025, 9:56:02 AM3/3/25
to Emmanuel Hugonnet, WildFly
Hi,

Server Side Configuration in standalone.xml(in k8s environment)
<connection-factory name="SslConnectionFactory" entries="java:jboss/exported/jms/SslConnectionFactory" connectors="ssl-remoting-connector" deserialization-black-list="...." use-topology-for-load-balancing="false"/>

Client side configuration

env.put("java.naming.factory.initial", WildFlyInitialContextFactory.class.getName());
env.put("java.naming.provider.url", "https-remoting://" + host + ":" + port;);
env.put("jboss.naming.client.ejb.context", true);
env.put(Context.SECURITY_PRINCIPAL, desc.getUsername());
env.put(Context.SECURITY_CREDENTIALS, desc.getPassword());
InitialContext context = new InitialContext(env);

(ConnectionFactory) context.lookup("jms/SslConnectionFactory");
cf.createConnection();


Logs at client side

DEBUG [org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@1e819723 and currentConnectorConfig:
TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?trustStorePassword=****&port=1234&sslEnabled=true&host=<service-name>-5f7ffbdddb-6tdt5&verifyHost=true&trustStoreType=PKCS12&trustStorePath=<path>&blockOnNonDurableSend=false&retryIntervalMultiplier=1-0&maxRetryInterval=2000&producerMaxRate=-1&blockOnDurableSend=true&connectionTTL=60000&compressLargeMessage=false&reconnectAttempts=0&ignoreJTA=false&cacheLargeMessagesClient=false&scheduledThreadPoolMaxSize=5&useGlobalPools=true&callFailoverTimeout=60000&deserializationBlackList=java-io-File,org-apache-commons-collections-functors-InvokerTransformer,org-apache-commons-collections-functors-InstantiateTransformer,org-apache-commons-collections4-functors-InvokerTransformer,org-apache-commons-collections4-functors-InstantiateTransformer,org-codehaus-groovy-runtime-ConvertedClosure,org-codehaus-groovy-runtime-MethodClosure,org-springframework-beans-factory-ObjectFactory,com-sun-org-apache-xalan-internal-xsltc-trax-TemplatesImpl,org-apache-xalan-xsltc-trax-TemplatesImpl,com-sun-rowset-JdbcRowSetImpl,java-util-logging-FileHandler,java-rmi-server-UnicastRemoteObject,org-springframework-beans-factory-config-PropertyPathFactoryBean,org-apache-tomcat-dbcp-dbcp2-BasicDataSource,com-sun-org-apache-bcel-internal-util-ClassLoader,org-hibernate-jmx-StatisticsService,org-apache-ibatis-datasource-jndi-JndiDataSourceFactory,org-apache-ibatis-parsing-XPathParser,jodd-db-connection-DataSourceConnectionProvider,oracle-jdbc-connector-OracleManagedConnectionFactory,oracle-jdbc-rowset-OracleJDBCRowSet,org-slf4j-ext-EventData,flex-messaging-util-concurrent-AsynchBeansWorkManagerExecutor,com-sun-deploy-security-ruleset-DRSHelper,org-apache-axis2-jaxws-spi-handler-HandlerResolverImpl,org-jboss-util-propertyeditor-DocumentEditor,org-apache-openjpa-ee-RegistryManagedRuntime,org-apache-openjpa-ee-JNDIManagedRuntime,org-apache-axis2-transport-jms-JMSOutTransportInfo,com-mysql-cj-jdbc-admin-MiniAdmin,ch-qos-logback-core-db-DriverManagerConnectionSource,org-jdom-transform-XSLTransformer,org-jdom2-transform-XSLTransformer,net-sf-ehcache-transaction-manager-DefaultTransactionManagerLookup,net-sf-ehcache-hibernate-EhcacheJtaTransactionManagerLookup,ch-qos-logback-core-db-JNDIConnectionSource,com-zaxxer-hikari-HikariConfig,com-zaxxer-hikari-HikariDataSource,org-apache-cxf-jaxrs-provider-XSLTJaxbProvider,org-apache-commons-configuration-JNDIConfiguration,org-apache-commons-configuration2-JNDIConfiguration,org-apache-xalan-lib-sql-JNDIConnectionPool,org-apache-commons-dbcp-datasources-PerUserPoolDataSource,org-apache-commons-dbcp-datasources-SharedPoolDataSource,com-p6spy-engine-spy-P6DataSource,org-apache-log4j-receivers-db-DriverManagerConnectionSource,org-apache-log4j-receivers-db-JNDIConnectionSource,net-sf-ehcache-transaction-manager-selector-GenericJndiSelector,net-sf-ehcache-transaction-manager-selector-GlassfishSelector,org-apache-xbean-propertyeditor-JndiConverter,org-apache-hadoop-shaded-com-zaxxer-hikari-HikariConfig,com-ibatis-sqlmap-engine-transaction-jta-JtaTransactionConfig,br-com-anteros-dbcp-AnterosDBCPConfig,javax-swing-JEditorPane,org-apache-shiro-realm-jndi-JndiRealmFactory,org-apache-shiro-jndi-JndiObjectFactory,org-apache-ignite-cache-jta-jndi-CacheJndiTmLookup,org-apache-ignite-cache-jta-jndi-CacheJndiTmFactory,org-quartz-utils-JNDIConnectionProvider,org-apache-aries-transaction-jms-internal-XaPooledConnectionFactory,org-apache-aries-transaction-jms-RecoverablePooledConnectionFactory,com-caucho-config-types-ResourceRef,org-apache-log4j-net-SocketServer&initialConnectAttempts=1&clientFailureCheckPeriod=30000&blockOnAcknowledge=false&consumerWindowSize=1048576&minLargeMessageSize=102400&useTopologyForLoadBalancing=true&finalizeChecks=false&autoGroup=false&threadPoolMaxSize=30&confirmationWindowSize=-1&transactionBatchSize=1048576&callTimeout=30000&preAcknowledge=false&enable1xPrefixes=true&cacheDestinations=false&connectionLoadBalancingPolicyClassName=org-apache-activemq-artemis-api-core-client-loadbalance-RoundRobinConnectionLoadBalancingPolicy&dupsOKBatchSize=1048576&incomingInterceptorList=&initialMessagePacketSize=1500&consumerMaxRate=-1&enableSharedClientID=true&HA=false&retryInterval=2000&factoryType=0&failoverOnInitialConnection=false&outgoingInterceptorList=&producerWindowSize=65536

Regards,
Sayantan

Sayantan Ganguly

unread,
Mar 4, 2025, 10:39:39 AM3/4/25
to WildFly
Hi,

If I do the below change and update activemq client jar in client side it works. Can this be done through some configuration?

ClientSessionFactoryImpl{
...

private Connection createTransportConnection(String name, TransportConfiguration transportConnectorConfig) {    

      transportConnectorConfig.getParams();
      transportConnectorConfig.getParams().put("host", "external-access-host-of-k8s-master-node"));


      ConnectorFactory transportConnectorFactory = instantiateConnectorFactory(
         transportConnectorConfig.getFactoryClassName());
....  
 
}  

}

Thanks,
Sayantan

Emmanuel Hugonnet

unread,
Mar 4, 2025, 11:34:11 AM3/4/25
to wil...@googlegroups.com
The host in the ssl-remoting-connector should be *external-access-host-of-k8s-master-node.
*Not the internal host address/name
Emmanuel*
*
Le 04/03/2025 à 16:39, Sayantan Ganguly a écrit :
> Hi,
>
> If I do the below change and update activemq client jar in client side it works. Can this be done through some configuration?
>
> ClientSessionFactoryImpl{
> ...
>
> private Connection createTransportConnection(String name, TransportConfiguration transportConnectorConfig) {
>
> *transportConnectorConfig.getParams();
>       transportConnectorConfig.getParams().put("host", "external-access-host-of-k8s-master-node"));*
> >     > *java.net <http://java.net>.UnknownHostException: <service-name>-5f7ffbdddb-pkx74*
> >     >         at java.base/java.net <http://java.net>.InetAddress$CachedAddresses.get(InetAddress.java:797)
> >     >         at java.base/java.net <http://java.net>.InetAddress.getAllByName0(InetAddress.java:1533)
> >     >         at java.base/java.net <http://java.net>.InetAddress.getAllByName(InetAddress.java:1386)
> >     >         at java.base/java.net <http://java.net>.InetAddress.getAllByName(InetAddress.java:1307)
> >     >         at java.base/java.net <http://java.net>.InetAddress.getByName(InetAddress.java:1257)
> <https://groups.google.com/d/msgid/wildfly/f6e5d919-c77f-458a-ae96-d2dfe98c4221n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google Groups "WildFly" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to wildfly+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/wildfly/2dacda74-bc14-45a5-ad26-2eabd394f0e0n%40googlegroups.com
> <https://groups.google.com/d/msgid/wildfly/2dacda74-bc14-45a5-ad26-2eabd394f0e0n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Sayantan Ganguly

unread,
Mar 5, 2025, 5:14:55 AM3/5/25
to WildFly
Hi,

Yes, it is already set in the standalone.xml

...
<remote-connector name="ssl-remoting-connector" socket-binding="ssl-messaging">
    <param name="ssl-enabled" value="true"/>
    <param name="trust-store-password" value="${javax.net.ssl.trustStorePassword}"/>
    <param name="trust-store-path" value="${javax.net.ssl.trustStore}"/>
    <param name="trust-store-type" value="PKCS12"/>
    <param name="verify-host" value="false"/>
    <param name="host" value="external-access-host-of-k8s-master-node"/>
</remote-connector>
....
<connection-factory name="SslConnectionFactory" entries="java:jboss/exported/jms/SslConnectionFactory" connectors="ssl-remoting-connector" deserialization-black-list="..." use-topology-for-load-balancing="false"/>

So, is activemq not picking up the host parameter from the configuraion?

Thanks,
Sayantan

Emmanuel Hugonnet

unread,
Mar 5, 2025, 7:12:04 AM3/5/25
to Sayantan Ganguly, WildFly
In the URL I can see: useTopologyForLoadBalancing=true so it is definitively not using the configuration
Same on host=<service-name>-5f7ffbdddb-6tdt5&verifyHost=true which differs from the connector configuration you are providing.

    <param name="verify-host" value="false"/>
    <param name="host" value="external-access-host-of-k8s-master-node"/>

So I'm not sure what is happening there, is your client code using the same version for JMS ?

Emmanuel
> > >     > *java.net <http://java.net> <http://java.net>.UnknownHostException: <service-name>-5f7ffbdddb-pkx74*
> > >     >         at java.base/java.net <http://java.net> <http://java.net>.InetAddress$CachedAddresses.get(InetAddress.java:797)
> > >     >         at java.base/java.net <http://java.net> <http://java.net>.InetAddress.getAllByName0(InetAddress.java:1533)
> > >     >         at java.base/java.net <http://java.net> <http://java.net>.InetAddress.getAllByName(InetAddress.java:1386)
> > >     >         at java.base/java.net <http://java.net> <http://java.net>.InetAddress.getAllByName(InetAddress.java:1307)
> > >     >         at java.base/java.net <http://java.net> <http://java.net>.InetAddress.getByName(InetAddress.java:1257)
> <https://groups.google.com/d/msgid/wildfly/2dacda74-bc14-45a5-ad26-2eabd394f0e0n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google Groups "WildFly" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to wildfly+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/wildfly/e0c33b4a-fd3e-499b-84d4-dacd74bd2b61n%40googlegroups.com
> <https://groups.google.com/d/msgid/wildfly/e0c33b4a-fd3e-499b-84d4-dacd74bd2b61n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Sayantan Ganguly

unread,
Mar 5, 2025, 10:01:38 AM3/5/25
to WildFly
Hi,

It is set to false with recent changes, but still the internal ip of the pod is used.

Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@6602e6cc and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?trustStorePassword=****&port=5455&sslEnabled=true&host=<service-name>-84465977b7-xsvdn&verifyHost=false&trustStoreType=PKCS12&trustStorePath=/var/opt/OV/shared/nnm/certificates/nnm-trust-p12&blockOnNonDurableSend=false&retryIntervalMultiplier=1-0&maxRetryInterval=2000&producerMaxRate=-1&blockOnDurableSend=true&connectionTTL=60000&compressLargeMessage=false&reconnectAttempts=0&ignoreJTA=false&cacheLargeMessagesClient=false&scheduledThreadPoolMaxSize=5&useGlobalPools=true&callFailoverTimeout=60000&deserializationBlackList=java-io-File,org-apache-commons-collections-functors-InvokerTransformer,org-apache-commons-collections-functors-InstantiateTransformer,org-apache-commons-collections4-functors-InvokerTransformer,org-apache-commons-collections4-functors-InstantiateTransformer,org-codehaus-groovy-runtime-ConvertedClosure,org-codehaus-groovy-runtime-MethodClosure,org-springframework-beans-factory-ObjectFactory,com-sun-org-apache-xalan-internal-xsltc-trax-TemplatesImpl,org-apache-xalan-xsltc-trax-TemplatesImpl,com-sun-rowset-JdbcRowSetImpl,java-util-logging-FileHandler,java-rmi-server-UnicastRemoteObject,org-springframework-beans-factory-config-PropertyPathFactoryBean,org-apache-tomcat-dbcp-dbcp2-BasicDataSource,com-sun-org-apache-bcel-internal-util-ClassLoader,org-hibernate-jmx-StatisticsService,org-apache-ibatis-datasource-jndi-JndiDataSourceFactory,org-apache-ibatis-parsing-XPathParser,jodd-db-connection-DataSourceConnectionProvider,oracle-jdbc-connector-OracleManagedConnectionFactory,oracle-jdbc-rowset-OracleJDBCRowSet,org-slf4j-ext-EventData,flex-messaging-util-concurrent-AsynchBeansWorkManagerExecutor,com-sun-deploy-security-ruleset-DRSHelper,org-apache-axis2-jaxws-spi-handler-HandlerResolverImpl,org-jboss-util-propertyeditor-DocumentEditor,org-apache-openjpa-ee-RegistryManagedRuntime,org-apache-openjpa-ee-JNDIManagedRuntime,org-apache-axis2-transport-jms-JMSOutTransportInfo,com-mysql-cj-jdbc-admin-MiniAdmin,ch-qos-logback-core-db-DriverManagerConnectionSource,org-jdom-transform-XSLTransformer,org-jdom2-transform-XSLTransformer,net-sf-ehcache-transaction-manager-DefaultTransactionManagerLookup,net-sf-ehcache-hibernate-EhcacheJtaTransactionManagerLookup,ch-qos-logback-core-db-JNDIConnectionSource,com-zaxxer-hikari-HikariConfig,com-zaxxer-hikari-HikariDataSource,org-apache-cxf-jaxrs-provider-XSLTJaxbProvider,org-apache-commons-configuration-JNDIConfiguration,org-apache-commons-configuration2-JNDIConfiguration,org-apache-xalan-lib-sql-JNDIConnectionPool,org-apache-commons-dbcp-datasources-PerUserPoolDataSource,org-apache-commons-dbcp-datasources-SharedPoolDataSource,com-p6spy-engine-spy-P6DataSource,org-apache-log4j-receivers-db-DriverManagerConnectionSource,org-apache-log4j-receivers-db-JNDIConnectionSource,net-sf-ehcache-transaction-manager-selector-GenericJndiSelector,net-sf-ehcache-transaction-manager-selector-GlassfishSelector,org-apache-xbean-propertyeditor-JndiConverter,org-apache-hadoop-shaded-com-zaxxer-hikari-HikariConfig,com-ibatis-sqlmap-engine-transaction-jta-JtaTransactionConfig,br-com-anteros-dbcp-AnterosDBCPConfig,javax-swing-JEditorPane,org-apache-shiro-realm-jndi-JndiRealmFactory,org-apache-shiro-jndi-JndiObjectFactory,org-apache-ignite-cache-jta-jndi-CacheJndiTmLookup,org-apache-ignite-cache-jta-jndi-CacheJndiTmFactory,org-quartz-utils-JNDIConnectionProvider,org-apache-aries-transaction-jms-internal-XaPooledConnectionFactory,org-apache-aries-transaction-jms-RecoverablePooledConnectionFactory,com-caucho-config-types-ResourceRef,org-apache-log4j-net-SocketServer&initialConnectAttempts=1&clientFailureCheckPeriod=30000&blockOnAcknowledge=false&consumerWindowSize=1048576&minLargeMessageSize=102400&useTopologyForLoadBalancing=false&finalizeChecks=false&autoGroup=false&threadPoolMaxSize=30&confirmationWindowSize=-1&transactionBatchSize=1048576&callTimeout=30000&preAcknowledge=false&enable1xPrefixes=true&cacheDestinations=false&connectionLoadBalancingPolicyClassName=org-apache-activemq-artemis-api-core-client-loadbalance-RoundRobinConnectionLoadBalancingPolicy&dupsOKBatchSize=1048576&incomingInterceptorList=&initialMessagePacketSize=1500&consumerMaxRate=-1&enableSharedClientID=true&HA=false&retryInterval=2000&factoryType=0&failoverOnInitialConnection=false&outgoingInterceptorList=&producerWindowSize=65536

Thanks,
Sayantan

Sayantan Ganguly

unread,
Mar 10, 2025, 12:32:56 PM3/10/25
to WildFly
Hi  Emmanuel,

This is still reproducible. We are using activemq 2.19.1 with Wildfly 26.1.3.


Configuration at k8s deployment (activemq server), this Wildfly instance is running in a pod:

standalone.xml


<remote-connector name="ssl-remoting-connector" socket-binding="ssl-messaging">
                    <param name="ssl-enabled" value="true"/>
                    <param name="trust-store-password" value="${javax.net.ssl.trustStorePassword}"/>
                    <param name="trust-store-path" value="${javax.net.ssl.trustStore}"/>
                    <param name="trust-store-type" value="PKCS12"/>
                    <param name="verify-host" value="false"/>
                    <param name="host" value="external-access-host-k8s-master-node"/>
</remote-connector>


<connection-factory name="SslConnectionFactory" entries="java:jboss/exported/jms/SslConnectionFactory" connectors="ssl-remoting-connector" deserialization-black-list="..." use-topology-for-load-balancing="false"/>



Client configuration code, this Wildfly instance is running on a virtual machine:

Hashtable<Object, Object> env = new Hashtable<Object, Object>();
env.put("java.naming.factory.initial", WildFlyInitialContextFactory.class.getName());
env.put("java.naming.provider.url",  "https-remoting://<external-access-host-k8s-master-node>:<external-access-port-k8s-master-node>");
env.put("jboss.naming.client.ejb.context", true);
env.put(Context.SECURITY_PRINCIPAL, "user");
env.put(Context.SECURITY_CREDENTIALS, "pass");

InitialContext context = new InitialContext(env);
final ConnectionFactory cf = (ConnectionFactory) context.lookup("jms/SslConnectionFactory");
cf.createConnection("user", "pass"); //error - java.net.UnknownHostException: <service-name>-84465977b7-xsvdn


Logs at client end:

2025-03-10 08:53:06.088 DEBUG  [org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@79ebbc5c and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?trustStorePassword=****&port=5455&sslEnabled=true&host=<service-name>-84465977b7-xsvdn&verifyHost=false&trustStoreType=PKCS12&trustStorePath=.../abc-trust-p12&blockOnNonDurableSend=false&retryIntervalMultiplier=1-0&maxRetryInterval=2000&producerMaxRate=-1&blockOnDurableSend=true&connectionTTL=60000&compressLargeMessage=false&reconnectAttempts=0&ignoreJTA=false&cacheLargeMessagesClient=false&scheduledThreadPoolMaxSize=5&useGlobalPools=true&callFailoverTimeout=60000&deserializationBlackList=java-io-File,org-apache-commons-collections-functors-InvokerTransformer,org-apache-commons-collections-functors-InstantiateTransformer,org-apache-commons-collections4-functors-InvokerTransformer,org-apache-commons-collections4-functors-InstantiateTransformer,org-codehaus-groovy-runtime-ConvertedClosure,org-codehaus-groovy-runtime-MethodClosure,org-springframework-beans-factory-ObjectFactory,com-sun-org-apache-xalan-internal-xsltc-trax-TemplatesImpl,org-apache-xalan-xsltc-trax-TemplatesImpl,com-sun-rowset-JdbcRowSetImpl,java-util-logging-FileHandler,java-rmi-server-UnicastRemoteObject,org-springframework-beans-factory-config-PropertyPathFactoryBean,org-apache-tomcat-dbcp-dbcp2-BasicDataSource,com-sun-org-apache-bcel-internal-util-ClassLoader,org-hibernate-jmx-StatisticsService,org-apache-ibatis-datasource-jndi-JndiDataSourceFactory,org-apache-ibatis-parsing-XPathParser,jodd-db-connection-DataSourceConnectionProvider,oracle-jdbc-connector-OracleManagedConnectionFactory,oracle-jdbc-rowset-OracleJDBCRowSet,org-slf4j-ext-EventData,flex-messaging-util-concurrent-AsynchBeansWorkManagerExecutor,com-sun-deploy-security-ruleset-DRSHelper,org-apache-axis2-jaxws-spi-handler-HandlerResolverImpl,org-jboss-util-propertyeditor-DocumentEditor,org-apache-openjpa-ee-RegistryManagedRuntime,org-apache-openjpa-ee-JNDIManagedRuntime,org-apache-axis2-transport-jms-JMSOutTransportInfo,com-mysql-cj-jdbc-admin-MiniAdmin,ch-qos-logback-core-db-DriverManagerConnectionSource,org-jdom-transform-XSLTransformer,org-jdom2-transform-XSLTransformer,net-sf-ehcache-transaction-manager-DefaultTransactionManagerLookup,net-sf-ehcache-hibernate-EhcacheJtaTransactionManagerLookup,ch-qos-logback-core-db-JNDIConnectionSource,com-zaxxer-hikari-HikariConfig,com-zaxxer-hikari-HikariDataSource,org-apache-cxf-jaxrs-provider-XSLTJaxbProvider,org-apache-commons-configuration-JNDIConfiguration,org-apache-commons-configuration2-JNDIConfiguration,org-apache-xalan-lib-sql-JNDIConnectionPool,org-apache-commons-dbcp-datasources-PerUserPoolDataSource,org-apache-commons-dbcp-datasources-SharedPoolDataSource,com-p6spy-engine-spy-P6DataSource,org-apache-log4j-receivers-db-DriverManagerConnectionSource,org-apache-log4j-receivers-db-JNDIConnectionSource,net-sf-ehcache-transaction-manager-selector-GenericJndiSelector,net-sf-ehcache-transaction-manager-selector-GlassfishSelector,org-apache-xbean-propertyeditor-JndiConverter,org-apache-hadoop-shaded-com-zaxxer-hikari-HikariConfig,com-ibatis-sqlmap-engine-transaction-jta-JtaTransactionConfig,br-com-anteros-dbcp-AnterosDBCPConfig,javax-swing-JEditorPane,org-apache-shiro-realm-jndi-JndiRealmFactory,org-apache-shiro-jndi-JndiObjectFactory,org-apache-ignite-cache-jta-jndi-CacheJndiTmLookup,org-apache-ignite-cache-jta-jndi-CacheJndiTmFactory,org-quartz-utils-JNDIConnectionProvider,org-apache-aries-transaction-jms-internal-XaPooledConnectionFactory,org-apache-aries-transaction-jms-RecoverablePooledConnectionFactory,com-caucho-config-types-ResourceRef,org-apache-log4j-net-SocketServer&initialConnectAttempts=1&clientFailureCheckPeriod=30000&blockOnAcknowledge=false&consumerWindowSize=1048576&minLargeMessageSize=102400&useTopologyForLoadBalancing=false&finalizeChecks=false&autoGroup=false&threadPoolMaxSize=30&confirmationWindowSize=-1&transactionBatchSize=1048576&callTimeout=30000&preAcknowledge=false&enable1xPrefixes=true&cacheDestinations=false&connectionLoadBalancingPolicyClassName=org-apache-activemq-artemis-api-core-client-loadbalance-RoundRobinConnectionLoadBalancingPolicy&dupsOKBatchSize=1048576&incomingInterceptorList=&initialMessagePacketSize=1500&consumerMaxRate=-1&enableSharedClientID=true&HA=false&retryInterval=2000&factoryType=0&failoverOnInitialConnection=false&outgoingInterceptorList=&producerWindowSize=65536
2025-03-10 08:53:06.096 ERROR [org.apache.activemq.artemis.core.client] AMQ214016: Failed to create netty connection: java.net.UnknownHostException: <service-name>-84465977b7-xsvdn


Please note :  the k8s pod name (<service-name>-84465977b7-xsvdn) is not accessible from the virtual machine at the client end. We also have exposed a node port at the k8s end to make the netty port 5455 available extenally. 

Why is the host=<service-name>-84465977b7-xsvd getting set to internal ip even though in standalone.xml it is set to <param name="host" value="external-access-host-k8s-master-node"/>. Is there any other configuration that needs to be set in the server configration to take effect or is it a bug?

Setting the host in the Transport constants may not work for all cases as the client is initialized for other connections, which would involve adding deployment logic in the client.

Thanks,
Sayantan

Emmanuel Hugonnet

unread,
Mar 10, 2025, 1:18:13 PM3/10/25
to wil...@googlegroups.com
Could you provide the outbound-socket-binding "ssl-messaging" ?
Emmanuel

Le 10/03/2025 à 17:32, Sayantan Ganguly a écrit :
> Hi Emmanuel,
>
> This is still reproducible. We are using *activemq 2.19.1 with Wildfly 26.1.3*.
>
>
> *Configuration at k8s deployment* (activemq server), this Wildfly instance is running in a pod:
>
> *standalone.xml*
>
> <remote-connector name="ssl-remoting-connector" socket-binding="ssl-messaging">
>                     <param name="ssl-enabled" value="true"/>
>                     <param name="trust-store-password" value="${javax.net.ssl.trustStorePassword}"/>
>                     <param name="trust-store-path" value="${javax.net.ssl.trustStore}"/>
>                     <param name="trust-store-type" value="PKCS12"/>
>                     <param name="verify-host" value="false"/>
>                     <param name="host" value="*external-access-host-k8s-master-node*"/>
> </remote-connector>
>
> <connection-factory name="SslConnectionFactory" entries="java:jboss/exported/jms/SslConnectionFactory" connectors="ssl-remoting-connector"
> deserialization-black-list="..." *use-topology-for-load-balancing="false"*/>
>
>
>
> *Client configuration code, this Wildfly instance is running on a virtual machine:*
>
> Hashtable<Object, Object> env = new Hashtable<Object, Object>();
> env.put("java.naming.factory.initial", WildFlyInitialContextFactory.class.getName());
> env.put("java.naming.provider.url",  "https-remoting://<external-access-host-k8s-master-node>:<external-access-port-k8s-master-node>");
> env.put("jboss.naming.client.ejb.context", true);
> env.put(Context.SECURITY_PRINCIPAL, "user");
> env.put(Context.SECURITY_CREDENTIALS, "pass");
> InitialContext context = new InitialContext(env);
> final ConnectionFactory cf = (ConnectionFactory) context.lookup("jms/SslConnectionFactory");
> *cf.createConnection("user", "pass"); //error - java.net.UnknownHostException: <service-name>-84465977b7-xsvdn*
>
>
> *Logs at client end:*
>
> 2025-03-10 08:53:06.088 DEBUG  [org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl] Trying to connect with
> connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@79ebbc5c and currentConnectorConfig:
> TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)
> ?trustStorePassword=****&port=5455&sslEnabled=true&host=<service-name>-84465977b7-xsvdn&verifyHost=false&trustStoreType=PKCS12&trustStorePath=.../abc-trust-p12&blockOnNonDurableSend=false&retryIntervalMultiplier=1-0&maxRetryInterval=2000&producerMaxRate=-1&blockOnDurableSend=true&connectionTTL=60000&compressLargeMessage=false&reconnectAttempts=0&ignoreJTA=false&cacheLargeMessagesClient=false&scheduledThreadPoolMaxSize=5&useGlobalPools=true&callFailoverTimeout=60000&deserializationBlackList=java-io-File,org-apache-commons-collections-functors-InvokerTransformer,org-apache-commons-collections-functors-InstantiateTransformer,org-apache-commons-collections4-functors-InvokerTransformer,org-apache-commons-collections4-functors-InstantiateTransformer,org-codehaus-groovy-runtime-ConvertedClosure,org-codehaus-groovy-runtime-MethodClosure,org-springframework-beans-factory-ObjectFactory,com-sun-org-apache-xalan-internal-xsltc-trax-TemplatesImpl,org-apache-xalan-xsltc-trax-TemplatesImpl,com-sun-rowset-JdbcRowSetImpl,java-util-logging-FileHandler,java-rmi-server-UnicastRemoteObject,org-springframework-beans-factory-config-PropertyPathFactoryBean,org-apache-tomcat-dbcp-dbcp2-BasicDataSource,com-sun-org-apache-bcel-internal-util-ClassLoader,org-hibernate-jmx-StatisticsService,org-apache-ibatis-datasource-jndi-JndiDataSourceFactory,org-apache-ibatis-parsing-XPathParser,jodd-db-connection-DataSourceConnectionProvider,oracle-jdbc-connector-OracleManagedConnectionFactory,oracle-jdbc-rowset-OracleJDBCRowSet,org-slf4j-ext-EventData,flex-messaging-util-concurrent-AsynchBeansWorkManagerExecutor,com-sun-deploy-security-ruleset-DRSHelper,org-apache-axis2-jaxws-spi-handler-HandlerResolverImpl,org-jboss-util-propertyeditor-DocumentEditor,org-apache-openjpa-ee-RegistryManagedRuntime,org-apache-openjpa-ee-JNDIManagedRuntime,org-apache-axis2-transport-jms-JMSOutTransportInfo,com-mysql-cj-jdbc-admin-MiniAdmin,ch-qos-logback-core-db-DriverManagerConnectionSource,org-jdom-transform-XSLTransformer,org-jdom2-transform-XSLTransformer,net-sf-ehcache-transaction-manager-DefaultTransactionManagerLookup,net-sf-ehcache-hibernate-EhcacheJtaTransactionManagerLookup,ch-qos-logback-core-db-JNDIConnectionSource,com-zaxxer-hikari-HikariConfig,com-zaxxer-hikari-HikariDataSource,org-apache-cxf-jaxrs-provider-XSLTJaxbProvider,org-apache-commons-configuration-JNDIConfiguration,org-apache-commons-configuration2-JNDIConfiguration,org-apache-xalan-lib-sql-JNDIConnectionPool,org-apache-commons-dbcp-datasources-PerUserPoolDataSource,org-apache-commons-dbcp-datasources-SharedPoolDataSource,com-p6spy-engine-spy-P6DataSource,org-apache-log4j-receivers-db-DriverManagerConnectionSource,org-apache-log4j-receivers-db-JNDIConnectionSource,net-sf-ehcache-transaction-manager-selector-GenericJndiSelector,net-sf-ehcache-transaction-manager-selector-GlassfishSelector,org-apache-xbean-propertyeditor-JndiConverter,org-apache-hadoop-shaded-com-zaxxer-hikari-HikariConfig,com-ibatis-sqlmap-engine-transaction-jta-JtaTransactionConfig,br-com-anteros-dbcp-AnterosDBCPConfig,javax-swing-JEditorPane,org-apache-shiro-realm-jndi-JndiRealmFactory,org-apache-shiro-jndi-JndiObjectFactory,org-apache-ignite-cache-jta-jndi-CacheJndiTmLookup,org-apache-ignite-cache-jta-jndi-CacheJndiTmFactory,org-quartz-utils-JNDIConnectionProvider,org-apache-aries-transaction-jms-internal-XaPooledConnectionFactory,org-apache-aries-transaction-jms-RecoverablePooledConnectionFactory,com-caucho-config-types-ResourceRef,org-apache-log4j-net-SocketServer&initialConnectAttempts=1&clientFailureCheckPeriod=30000&blockOnAcknowledge=false&consumerWindowSize=1048576&minLargeMessageSize=102400&*useTopologyForLoadBalancing=false*&finalizeChecks=false&autoGroup=false&threadPoolMaxSize=30&confirmationWindowSize=-1&transactionBatchSize=1048576&callTimeout=30000&preAcknowledge=false&enable1xPrefixes=true&cacheDestinations=false&connectionLoadBalancingPolicyClassName=org-apache-activemq-artemis-api-core-client-loadbalance-RoundRobinConnectionLoadBalancingPolicy&dupsOKBatchSize=1048576&incomingInterceptorList=&initialMessagePacketSize=1500&consumerMaxRate=-1&enableSharedClientID=true&HA=false&retryInterval=2000&factoryType=0&failoverOnInitialConnection=false&outgoingInterceptorList=&producerWindowSize=65536
> 2025-03-10 08:53:06.096 ERROR [org.apache.activemq.artemis.core.client] AMQ214016: Failed to create netty connection:
> java.net.UnknownHostException: <service-name>-84465977b7-xsvdn
>
>
> *Please note* :  the k8s pod name (<service-name>-84465977b7-xsvdn) is not accessible from the virtual machine at the client end. We also
> have exposed a node port at the k8s end to make the netty port 5455 available extenally.
>
> Why is the host=<service-name>-84465977b7-xsvd getting set to internal ip even though in standalone.xml it is set to <param name="host"
> value="*external-access-host-k8s-master-node*"/>. Is there any other configuration that needs to be set in the server configration to take
> effect or is it a bug?
>
> Setting the host in the Transport constants may not work for all cases as the client is initialized for other connections, which would
> involve adding deployment logic in the client.
>
> Thanks,
> Sayantan
>
>
>
> On Wednesday, March 5, 2025 at 8:31:38 PM UTC+5:30 Sayantan Ganguly wrote:
>
> Hi,
>
> It is set to false with recent changes, but still the internal ip of the pod is used.
>
> Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@6602e6cc and
> currentConnectorConfig: TransportConfiguration(name=null,
> factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)
> ?trustStorePassword=****&port=5455&sslEnabled=true&host=*<service-name>-84465977b7-xsvdn*&verifyHost=false&trustStoreType=PKCS12&trustStorePath=/var/opt/OV/shared/nnm/certificates/nnm-trust-p12&blockOnNonDurableSend=false&retryIntervalMultiplier=1-0&maxRetryInterval=2000&producerMaxRate=-1&blockOnDurableSend=true&connectionTTL=60000&compressLargeMessage=false&reconnectAttempts=0&ignoreJTA=false&cacheLargeMessagesClient=false&scheduledThreadPoolMaxSize=5&useGlobalPools=true&callFailoverTimeout=60000&deserializationBlackList=java-io-File,org-apache-commons-collections-functors-InvokerTransformer,org-apache-commons-collections-functors-InstantiateTransformer,org-apache-commons-collections4-functors-InvokerTransformer,org-apache-commons-collections4-functors-InstantiateTransformer,org-codehaus-groovy-runtime-ConvertedClosure,org-codehaus-groovy-runtime-MethodClosure,org-springframework-beans-factory-ObjectFactory,com-sun-org-apache-xalan-internal-xsltc-trax-TemplatesImpl,org-apache-xalan-xsltc-trax-TemplatesImpl,com-sun-rowset-JdbcRowSetImpl,java-util-logging-FileHandler,java-rmi-server-UnicastRemoteObject,org-springframework-beans-factory-config-PropertyPathFactoryBean,org-apache-tomcat-dbcp-dbcp2-BasicDataSource,com-sun-org-apache-bcel-internal-util-ClassLoader,org-hibernate-jmx-StatisticsService,org-apache-ibatis-datasource-jndi-JndiDataSourceFactory,org-apache-ibatis-parsing-XPathParser,jodd-db-connection-DataSourceConnectionProvider,oracle-jdbc-connector-OracleManagedConnectionFactory,oracle-jdbc-rowset-OracleJDBCRowSet,org-slf4j-ext-EventData,flex-messaging-util-concurrent-AsynchBeansWorkManagerExecutor,com-sun-deploy-security-ruleset-DRSHelper,org-apache-axis2-jaxws-spi-handler-HandlerResolverImpl,org-jboss-util-propertyeditor-DocumentEditor,org-apache-openjpa-ee-RegistryManagedRuntime,org-apache-openjpa-ee-JNDIManagedRuntime,org-apache-axis2-transport-jms-JMSOutTransportInfo,com-mysql-cj-jdbc-admin-MiniAdmin,ch-qos-logback-core-db-DriverManagerConnectionSource,org-jdom-transform-XSLTransformer,org-jdom2-transform-XSLTransformer,net-sf-ehcache-transaction-manager-DefaultTransactionManagerLookup,net-sf-ehcache-hibernate-EhcacheJtaTransactionManagerLookup,ch-qos-logback-core-db-JNDIConnectionSource,com-zaxxer-hikari-HikariConfig,com-zaxxer-hikari-HikariDataSource,org-apache-cxf-jaxrs-provider-XSLTJaxbProvider,org-apache-commons-configuration-JNDIConfiguration,org-apache-commons-configuration2-JNDIConfiguration,org-apache-xalan-lib-sql-JNDIConnectionPool,org-apache-commons-dbcp-datasources-PerUserPoolDataSource,org-apache-commons-dbcp-datasources-SharedPoolDataSource,com-p6spy-engine-spy-P6DataSource,org-apache-log4j-receivers-db-DriverManagerConnectionSource,org-apache-log4j-receivers-db-JNDIConnectionSource,net-sf-ehcache-transaction-manager-selector-GenericJndiSelector,net-sf-ehcache-transaction-manager-selector-GlassfishSelector,org-apache-xbean-propertyeditor-JndiConverter,org-apache-hadoop-shaded-com-zaxxer-hikari-HikariConfig,com-ibatis-sqlmap-engine-transaction-jta-JtaTransactionConfig,br-com-anteros-dbcp-AnterosDBCPConfig,javax-swing-JEditorPane,org-apache-shiro-realm-jndi-JndiRealmFactory,org-apache-shiro-jndi-JndiObjectFactory,org-apache-ignite-cache-jta-jndi-CacheJndiTmLookup,org-apache-ignite-cache-jta-jndi-CacheJndiTmFactory,org-quartz-utils-JNDIConnectionProvider,org-apache-aries-transaction-jms-internal-XaPooledConnectionFactory,org-apache-aries-transaction-jms-RecoverablePooledConnectionFactory,com-caucho-config-types-ResourceRef,org-apache-log4j-net-SocketServer&initialConnectAttempts=1&clientFailureCheckPeriod=30000&blockOnAcknowledge=false&consumerWindowSize=1048576&minLargeMessageSize=102400&*useTopologyForLoadBalancing=false*&finalizeChecks=false&autoGroup=false&threadPoolMaxSize=30&confirmationWindowSize=-1&transactionBatchSize=1048576&callTimeout=30000&preAcknowledge=false&enable1xPrefixes=true&cacheDestinations=false&connectionLoadBalancingPolicyClassName=org-apache-activemq-artemis-api-core-client-loadbalance-RoundRobinConnectionLoadBalancingPolicy&dupsOKBatchSize=1048576&incomingInterceptorList=&initialMessagePacketSize=1500&consumerMaxRate=-1&enableSharedClientID=true&HA=false&retryInterval=2000&factoryType=0&failoverOnInitialConnection=false&outgoingInterceptorList=&producerWindowSize=65536
> > > >     > *java.net <http://java.net> <http://java.net> <http://java.net>.UnknownHostException: <service-name>-5f7ffbdddb-pkx74*
> <https://groups.google.com/d/msgid/wildfly/e0c33b4a-fd3e-499b-84d4-dacd74bd2b61n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
>
> --
> You received this message because you are subscribed to the Google Groups "WildFly" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to wildfly+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/wildfly/8ff5b198-10c5-4862-8271-680f3a334297n%40googlegroups.com
> <https://groups.google.com/d/msgid/wildfly/8ff5b198-10c5-4862-8271-680f3a334297n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Sayantan Ganguly

unread,
Mar 10, 2025, 11:59:32 PM3/10/25
to WildFly
hi,

<interfaces>
        <interface name="httpsweb">
            <inet-address value="${server.net.bind.address.ssl.http,server.net.bind.address.ssl,server.net.bind.address:0.0.0.0}"/>
        </interface>
        <interface name="httpweb">
            <inet-address value="${server.net.bind.address.http,server.net.bind.address:0.0.0.0}"/>
        </interface>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="private">
            <inet-address value="${server.net.bind.address.private:127.0.0.1}"/>
        </interface>
        <interface name="public">
            <inet-address value="${server.net.bind.address:0.0.0.0}"/>
        </interface>
        <interface name="unsecure">
            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
        </interface>
    </interfaces>
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <socket-binding name="http" interface="httpweb" port="${server.port.web.http:8080}"/>
        <socket-binding name="https" interface="httpsweb" port="${server.port.web.https:8443}"/>
        <socket-binding name="iiop" interface="unsecure" port="3528"/>
        <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/>
        <socket-binding name="legacy-messaging" port="${server.legacy.messaging.port:5445}"/>
        <socket-binding name="management-http" interface="management" port="${server.management.port}"/>
        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
        <socket-binding name="netty" port="5446"/>
        <socket-binding name="ssl-messaging" port="5455"/>
        <socket-binding name="txn-recovery-environment" port="4712"/>
        <socket-binding name="txn-socket-process-id" port="${server.transaction.process.port}"/>
        <socket-binding name="txn-status-manager" port="4713"/>
    </socket-binding-group>


Thanks,
Sayantan

Emmanuel Hugonnet

unread,
Mar 11, 2025, 5:00:17 AM3/11/25
to wil...@googlegroups.com
You need to create a new interface:
<interface name="external-interface">
     <inet-address value="external-access-port-k8s-master-node"/>
 </interface>

and
<socket-binding name="ssl-messaging" port="5455"/>*
*becomes*
* <socket-binding name="ssl-messaging" *interface="external-interface" *port="5455"/>
> *<socket-binding name="ssl-messaging" port="5455"/>*
> > > > >     > *java.net <http://java.net> <http://java.net> <http://java.net> <http://java.net>.UnknownHostException:
> <https://groups.google.com/d/msgid/wildfly/8ff5b198-10c5-4862-8271-680f3a334297n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google Groups "WildFly" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to wildfly+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/wildfly/ae77089c-6a1f-4e92-8ed8-478ec440f3cbn%40googlegroups.com
> <https://groups.google.com/d/msgid/wildfly/ae77089c-6a1f-4e92-8ed8-478ec440f3cbn%40googlegroups.com?utm_medium=email&utm_source=footer>.

Sayantan Ganguly

unread,
Mar 11, 2025, 2:00:49 PM3/11/25
to WildFly
Hi,

Please find the boot error logs.

Logs:

2025-03-11 17:51:39.117 ERROR [fail] MSC000001: Failed to start service org.wildfly.network.interface.externalinterface: org.jboss.msc.service.StartException in service org.wildfly.network.interface.externalinterface: WFLYSRV0082: failed to resolve interface externalinterface
        at org.jboss...@30.01.010//org.jboss.as.server.services.net.NetworkInterfaceService.start(NetworkInterfaceService.java:98)
        at org.jb...@1.4.13.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
        at org.jb...@1.4.13.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
        at org.jb...@1.4.13.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
        at org.jbos...@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jbos...@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
        at org.jbos...@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
        at org.jbos...@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
        at java.base/java.lang.Thread.run(Thread.java:829)

 <interfaces>
        <interface name="httpsweb">
            <inet-address value="${server.net.bind.address.ssl.http,server.net.bind.address.ssl,server.net.bind.address:0.0.0.0}"/>
        </interface>
        <interface name="httpweb">
            <inet-address value="${server.net.bind.address.http,server.net.bind.address:0.0.0.0}"/>
        </interface>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="private">
            <inet-address value="${server.net.bind.address.private:127.0.0.1}"/>
        </interface>
        <interface name="public">
            <inet-address value="${server.net.bind.address:0.0.0.0}"/>
        </interface>
        <interface name="unsecure">
            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
        </interface>
        <interface name="externalinterface">

            <inet-address value="external-access-port-k8s-master-node"/>
        </interface>

    </interfaces>
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <socket-binding name="http" interface="httpweb" port="${server.port.web.http:8080}"/>
        <socket-binding name="https" interface="httpsweb" port="${server.port.web.https:8443}"/>
        <socket-binding name="iiop" interface="unsecure" port="3528"/>
        <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/>
        <socket-binding name="legacy-messaging" port="${server.legacy.messaging.port:5445}"/>
        <socket-binding name="management-http" interface="management" port="${server.management.port}"/>
        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
        <socket-binding name="netty" port="5446"/>
        <socket-binding name="ssl-messaging" interface="externalinterface" port="5455"/>

        <socket-binding name="txn-recovery-environment" port="4712"/>
        <socket-binding name="txn-socket-process-id" port="${server.transaction.process.port}"/>
        <socket-binding name="txn-status-manager" port="4713"/>
    </socket-binding-group>

Please note: I also tried with 0.0.0.0, the Wildfly Server started but the connection issue was not resolved.

Thanks,
Sayantan

Emmanuel Hugonnet

unread,
Mar 11, 2025, 2:15:12 PM3/11/25
to wil...@googlegroups.com
Remove the interface and use a https://docs.wildfly.org/35/wildscribe/socket-binding-group/remote-destination-outbound-socket-binding/index.html
setting the host and port:
<socket-binding name="ssl-messaging" port="5455"/>
should be replaced by
<remote-destination-outbound-socket-binding name="ssl-messaging"*host="externalinterface" *port="5455"/>



Le 11/03/2025 à 19:00, Sayantan Ganguly a écrit :
> Hi,
>
> Please find the boot error logs.
>
> Logs:
>
> 2025-03-11 17:51:39.117 ERROR [fail] MSC000001: Failed to start service org.wildfly.network.interface.externalinterface:
> org.jboss.msc.service.StartException in service org.wildfly.network.interface.externalinterface: WFLYSRV0082: *failed to resolve interface
> externalinterface*
> *<interface name="externalinterface">
>             <inet-address value="external-access-port-k8s-master-node"/>
>         </interface>*
>     </interfaces>
>     <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
>         <socket-binding name="http" interface="httpweb" port="${server.port.web.http:8080}"/>
>         <socket-binding name="https" interface="httpsweb" port="${server.port.web.https:8443}"/>
>         <socket-binding name="iiop" interface="unsecure" port="3528"/>
>         <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/>
>         <socket-binding name="legacy-messaging" port="${server.legacy.messaging.port:5445}"/>
>         <socket-binding name="management-http" interface="management" port="${server.management.port}"/>
>         <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
>         <socket-binding name="netty" port="5446"/>
>         <socket-binding name="ssl-messaging"*interface="externalinterface" *port="5455"/>
> > > > > >     > *java.net <http://java.net> <http://java.net> <http://java.net> <http://java.net> <http://java.net>.UnknownHostException:
> <https://groups.google.com/d/msgid/wildfly/ae77089c-6a1f-4e92-8ed8-478ec440f3cbn%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google Groups "WildFly" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to wildfly+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/wildfly/280cde0b-cf96-4e8b-9273-2e16d36c7c81n%40googlegroups.com
> <https://groups.google.com/d/msgid/wildfly/280cde0b-cf96-4e8b-9273-2e16d36c7c81n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Sayantan Ganguly

unread,
Mar 18, 2025, 2:14:24 AM3/18/25
to WildFly
Hi, These changes did not work and startup error ".DefaultJMSConnectionFactory is missing [jboss.naming.context.java.jboss.DefaultJMSConnectionFactory]"  is thrown during deployment of aritfacts.

Why the host or port in the params of <remote-connector> not honored? How does activemq read these params from the standalone.xml?

Thanks,
Sayantan

Emmanuel Hugonnet

unread,
Mar 18, 2025, 6:26:10 AM3/18/25
to wil...@googlegroups.com
They are honored as you have defined them in the socket-binding attribute.
You should have a socket-binding for the acceptor that is internal and one for the connector that is external.
I've given you the required configuration for the connector on the connection factory that is supposed to be used out of k8s.
I don't have your full configuration nor usage so you have to adapt that to your exact use-case.
Emmanuel
> <https://groups.google.com/d/msgid/wildfly/280cde0b-cf96-4e8b-9273-2e16d36c7c81n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google Groups "WildFly" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to wildfly+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/wildfly/3429081e-5049-4cc1-9a5e-09e34c61595dn%40googlegroups.com
> <https://groups.google.com/d/msgid/wildfly/3429081e-5049-4cc1-9a5e-09e34c61595dn%40googlegroups.com?utm_medium=email&utm_source=footer>.

Sayantan Ganguly

unread,
Mar 19, 2025, 2:54:11 AM3/19/25
to Emmanuel Hugonnet, wil...@googlegroups.com
hi, 

This is the full standalone xml configuration sharing as txt file. Do you see any problem here? 

Thanks,
Sayantan


standalone-xml.txt

Emmanuel Hugonnet

unread,
Mar 19, 2025, 3:14:13 AM3/19/25
to Sayantan Ganguly, wil...@googlegroups.com
I think this should work.
I'm wondering why you are using 5445 on k8s external instead of http but if that port is open the current standalone should be ok.
Emmanuel
standalone-xml.txt
Reply all
Reply to author
Forward
0 new messages