resource-ref setting on WAS

本文介绍了JMS在XML配置文件中的具体配置方式,包括jms.xml、ejb-jar.xml和ibm-ejb-jar-bnd.xmi三个文件的详细配置参数及作用。重点讲解了JNDI查找ID、资源引用、缓存设置等关键配置项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jms.xml

<jee:jndi-lookup id="batchCommandResponseQCF" jndi-name="BatchCommandResponseQCF_Ref" resource-ref="true" cache="true"/>

 

● Jndi-name: 待查找的JNDI名,必填项 

● Resource-ref:是否是资源引用,可选项。如果是,则需要在web.xml和厂商特定的部署描述符中进行映射。默认取值为false。 

● Cache:是否缓存查找到的JNDI对象,可选项。默认取值为true 

● Expected-type:期待的JNDI对象类型,可选项 

● Lookup-on-startup:是否在启动时去JNDI上查找对象,可选项。默认取值为true 

● Proxy-interface:代理接口,可选项。配合cache和lookup-on-startup使用 

● Environment:JNDI环境信息,可选项。如果有多项值对需要给出,则要遵循属性文件的格式。 

 

 

ejb-jar.xml

<resource-ref id="ResourceRef_1243431799011">

<res-ref-name>BatchCommandResponseQCF_Ref</res-ref-name>

<res-type>javax.jms.QueueConnectionFactory</res-type>

<res-auth>Container</res-auth>

<res-sharing-scope>Unshareable</res-sharing-scope>

</resource-ref>

 

● res-ref-name是资源工厂引用名的名称。该名称是一个与java:comp/env上下文相对应的JNDI名称,并且在整个Web应用中必须是惟一的。

● res-auth表明:servlet代码通过编程注册到资源管理器,或者是容器将代表servlet注册到资源管理器。该元素的值必须为Application或Container。

● res-sharing-scope表明:是否可以共享通过给定资源管理器连接工厂引用获得的连接。该元素的值必须为Shareable(默认值)或Unshareable。

 

 

ibm-ejb-jar-bnd.xmi

<resRefBindings xmi:id="ResourceRefBinding_1243431799011" jndiName="jms/BatchCommandResponseQCF">

  <bindingResourceRef href="META-INF/ejb-jar.xml#ResourceRef_1243431799011"/>

</resRefBindings>

 
2025-03-04 10:19:24.932 ERROR 26684 --- [http-nio-19002-exec-1 : io-19002-exec-1] o.a.j.l.DirectJDKLog [log:175] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.RuntimeException: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('j' (code 106)): was expecting comma to separate Object entries at [Source: (String)"{"localParams":[],"resourceList":[],"customConfig":1,"json":"{"job":{"setting":{"speed":{"channel":1,"byte":1048576},"errorLimit":{"record":0,"percentage":0.02}},"content":[{"reader":{"name":"mysqlreader","parameter":{"username":"1111111","password":"1111111","column":["idlink_va","idsite","idvisitor","idvisit","idaction_url_ref","idaction_name_ref","custom_float","pageview_position","server_time","idpageview","idaction_name","idaction_url","search_cat","search_count","time_spent_ref_ac"[truncated 1836 chars]; line: 1, column: 65]] with root cause com.fasterxml.jackson.core.JsonParseException: Unexpected character ('j' (code 106)): was expecting comma to separate Object entries at [Source: (String)"{"localParams":[],"resourceList":[],"customConfig":1,"json":"{"job":{"setting":{"speed":{"channel":1,"byte":1048576},"errorLimit":{"record":0,"percentage":0.02}},"content":[{"reader":{"name":"mysqlreader","parameter":{"username":"1111111","password":"1111111","column":["idlink_va","idsite","idvisitor","idvisit","idaction_url_ref","idaction_name_ref","custom_float","pageview_position","server_time","idpageview","idaction_name","idaction_url","search_cat","search_count","time_spent_ref_ac"[truncated 1836 chars]; line: 1, column: 65] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2477) ~[jackson-core-2.15.3.jar:2.15.3] at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:750) ~[jackson-core-2.15.3.jar:2.15.3] at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:674) ~[jackson-core-2.15.3.jar:2.15.3] at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._skipComma(ReaderBasedJsonParser.java:2462) ~[jackson-core-2.15.3.jar:2.15.3] at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextFieldName(ReaderBasedJsonParser.java:953) ~[jackson-core-2.15.3.jar:2.15.3] at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:321) ~[jackson-databind-2.15.3.jar:2.15.3] at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177) ~[jackson-databind-2.15.3.jar:2.15.3] 按照上面加了自定义反序列化器,还是不能成功解析成对象
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值