Jakarta ee 以编程方式在Wildfly/Undertow中创建虚拟主机

Jakarta ee 以编程方式在Wildfly/Undertow中创建虚拟主机,jakarta-ee,jboss,wildfly,wildfly-8,undertow,Jakarta Ee,Jboss,Wildfly,Wildfly 8,Undertow,我正在构建一个应用程序(部署在Wildfly上),该应用程序需要根据客户注册服务的方式创建虚拟主机。 例如,默认应用程序/服务在名为main.exampledomain.com的主机上运行。 当客户A注册该服务时,我需要创建一个虚拟主机A.exampledomain.com,A.exampledomain.com需要提供与main.exampledomain.com完全相同的WAR/Web内容 我可以通过standalone.xml-->subsystem undertow中的“主机”配置,以及

我正在构建一个应用程序(部署在Wildfly上),该应用程序需要根据客户注册服务的方式创建虚拟主机。 例如,默认应用程序/服务在名为main.exampledomain.com的主机上运行。 当客户A注册该服务时,我需要创建一个虚拟主机A.exampledomain.com,A.exampledomain.com需要提供与main.exampledomain.com完全相同的WAR/Web内容

我可以通过standalone.xml-->subsystem undertow中的“主机”配置,以及jboss-web.xml中的附加虚拟主机配置(用于所有要部署的战争)来实现这一点

是否有一种编程/动态的方法来实现这一点? 这是可能的吗?我是否应该使用undertow API来实现这一点?或 这可能吗?我应该使用Wildfly管理API吗

我搜索了一些与此相关的主题,只找到了关于配置的讨论和答案,但没有找到实现这一点的编程方法

谢谢并致以最良好的祝愿,
GPN做你需要的事情有两种方法

1) 使用管理api,它可以通过本机CLI api、REST、java ManagementClient调用。 到目前为止,这将是最简单的,因为您只需调用几个命令来配置额外的主机及其配置

2) 使用自定义扩展/ServiceActivator 这样,您的代码将作为WildFly内部的子系统运行,通过这种方法,您可以将UndertowService(顶级UndertowService)注入到您的MSC服务中,只需调用创建服务器/主机/侦听器的方法。。。在上面

如果您的定制只是在undertow子系统中配置一些额外的东西,那么管理api方式可能是最简单的。 但是,如果您想进行更深入的集成,并对自定义的内容以及如何使用自定义子系统拥有更大的控制权。这将允许您做更多有趣的事情,比如在部署期间修改部署,或者更改运行应用程序的一些参数等等