Wildfly 16.0.0。带有安全领域的最终和ejb-client连接

时间:2019-06-12 15:00:29

标签: java jboss ejb wildfly

《 Wildfly开发人员指南》介绍了here如何使用Wildfly特定属性设置InitialContext

关于“作用域EJB客户端上下文” outlines的部分,您还可以将这些属性传递给InitialContext

Properties jndiPropsL = new Properties();
jndiPropsL.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
jndiPropsL.setProperty("endpoint.name", "client-endpoint");
jndiPropsL.setProperty("org.jboss.ejb.client.scoped.context", "true");
jndiPropsL.setProperty("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED", "false");
jndiPropsL.setProperty("remote.connections", "default");
jndiPropsL.setProperty("remote.connection.default.host", jbossHost);
jndiPropsL.setProperty("remote.connection.default.port", remotingPort);
jndiPropsL.setProperty("remote.connection.default.protocol", "http-remoting");
jndiPropsL.setProperty("remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS", "false");
jndiPropsL.setProperty("remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");

与此相反,《 Wildfly安全指南》介绍了如何设置“安全的” EJB客户端连接:

Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.wildfly.naming.client.WildFlyInitialContextFactory");
properties.put(Context.PROVIDER_URL, "remote+http://127.0.0.1:8080");
InitialContext context = new InitialContext(properties);

凭据通过wildfly-config.xml文件传递。

如果我需要两个文档中的功能(即“安全”连接和作用域上下文),该如何配置?我是否只需要提供两组属性,并同时设置两次主机和端口?

1 个答案:

答案 0 :(得分:0)

如《 Wildfly Elytron安全指南》中所述(请参阅here),以前由remote.connection.*属性提供的大多数设置现在已由{{1}中的专用部分替换。 }。

在新的XML结构中似乎仅不支持wildfly-config.xml选项。因此,您必须将其作为属性提供给remote.clusters

InitialContext

与早期版本的ejb-client库相反,如果您确实在使用集群,则只需传递此选项。为非ha设置设置此选项将导致连接尝试失败。