我目前正致力于将seam2.2迁移到seam2.3。
我正在按照此处的指南进行操作:http://docs.jboss.org/seam/latest/reference/en-US/html/migration23.html,现在正在测试迁移的应用。
不幸的是,我遇到了这个错误:
Caused by: java.lang.IllegalArgumentException: You must specify org.jboss.seam.core.init.jndiPattern or use @JndiName:
在我的components.xml中,我尝试过2种方法: 1.)使用core:init:
<core:init debug="@debug@" jndi-pattern="@seam_jndiPattern@" />
//where seam_jndiPattern=java:app/myApp-ejb.jar/#{ejbName}
2.)列出无状态bean:
<component class="org.service.admin.impl.AccountService"
jndi-name="java:app/myApp-ejb/AccountService" />
@Stateless
@Name("accountService")
@AutoCreate
public class AccountService{
}
但两者都产生了:
Caused by: java.lang.IllegalArgumentException: You must specify org.jboss.seam.core.init.jndiPattern or use @JndiName: accountService
但是当我尝试将@JndiName注释添加到无状态会话Bean时,错误已解决,但我不想在每个类上添加注释,因为我有数百个注释。
任何可能的解决方法?
谢谢,
czetsuya
答案 0 :(得分:4)
在components.xml中将core:init更改为
&LT; core:init debug =“true”jndi-pattern =“java:app / your-ejb-name /#{ejbName}”/&gt;
或在bean中使用@JndiPattern注释。
@JndiName(的 “java / JBoss的:凤EJB /的 yourClassName 强>”)
在你的情况下,它将是@JndiName(“java / jboss:phoenix-ejb / AccountService ”)