相当于jetty JNDI资源的自定义资源
Custom resources equivalent to jetty JNDI resource
我有一个 Web 应用程序,直到现在才部署到码头服务器,但现在为了使用其他 JavaEE 服务,我正在转移到 Payara (Glassfish) 容器。但是我找不到如何提供额外的 JNDI 资源作为 paraya 的配置。
目前,我在码头的 context.xml 文件中定义了一些这样的资源:
<New id="some_resource" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg>
<Ref refid='wac'/>
</Arg>
<Arg>resource/path</Arg>
<Arg>
<New class="com.example.some.Class">
<!-- constructor parameters -->
<Arg type="java.lang.String">some string</Arg>
<Arg type="java.lang.Integer">0</Arg>
</New>
</Arg>
</New>
这只是使用给定参数调用自定义 class 构造函数并将结果放入给定 resource/path
地址。
这可以在 payara micro 中完成吗?
可以创建通过 JNDI 公开的自定义资源,但 GlassFish/Payara 默认情况下仅支持原始类型。对于其他类型,您需要在服务器类路径中添加自定义工厂。
Payara/GlassFish 中的自定义资源在 domain.xml
元素 custom-resource
中定义。定义自定义资源的最佳方法是使用管理控制台(资源 -> JNDI -> 自定义资源)或 asadmin
命令。
对于 JNDI resource/path
下的字符串值 "some string",asadmin 将如下所示:
asadmin> create-custom-resource --restype java.lang.String --factoryclass org.glassfish.resources.custom.factory.PrimitivesAndStringFactory --property value="some string" "resource/path"
在 Payara Micro 中,您可以使用 --domainConfig
参数传递 domain.xml
,或者您可以使用 PayaraMicroRuntime.run() (documented here 从您的应用程序中执行相同的 asadmin
命令)
我有一个 Web 应用程序,直到现在才部署到码头服务器,但现在为了使用其他 JavaEE 服务,我正在转移到 Payara (Glassfish) 容器。但是我找不到如何提供额外的 JNDI 资源作为 paraya 的配置。 目前,我在码头的 context.xml 文件中定义了一些这样的资源:
<New id="some_resource" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg>
<Ref refid='wac'/>
</Arg>
<Arg>resource/path</Arg>
<Arg>
<New class="com.example.some.Class">
<!-- constructor parameters -->
<Arg type="java.lang.String">some string</Arg>
<Arg type="java.lang.Integer">0</Arg>
</New>
</Arg>
</New>
这只是使用给定参数调用自定义 class 构造函数并将结果放入给定 resource/path
地址。
这可以在 payara micro 中完成吗?
可以创建通过 JNDI 公开的自定义资源,但 GlassFish/Payara 默认情况下仅支持原始类型。对于其他类型,您需要在服务器类路径中添加自定义工厂。
Payara/GlassFish 中的自定义资源在 domain.xml
元素 custom-resource
中定义。定义自定义资源的最佳方法是使用管理控制台(资源 -> JNDI -> 自定义资源)或 asadmin
命令。
对于 JNDI resource/path
下的字符串值 "some string",asadmin 将如下所示:
asadmin> create-custom-resource --restype java.lang.String --factoryclass org.glassfish.resources.custom.factory.PrimitivesAndStringFactory --property value="some string" "resource/path"
在 Payara Micro 中,您可以使用 --domainConfig
参数传递 domain.xml
,或者您可以使用 PayaraMicroRuntime.run() (documented here 从您的应用程序中执行相同的 asadmin
命令)