查找工作时,Recource注入不适用于glassfish 4

use*_*972 4 jsf datasource glassfish

我在使用glassfish 4的应用程序范围托管bean中使用资源注入,但是glassfish无法工作并使用默认的derby数据库.有我的代码:

@Named(value = "dbManager")
@ApplicationScoped
public class DbManager {
  @Resource(name = "jdbc/mydb")
  private DataSource ds;
Run Code Online (Sandbox Code Playgroud)

//但查找方法有效

 ctx = new InitialContext();
 ds = (DataSource) ctx.lookup("jdbc/mydb");
Run Code Online (Sandbox Code Playgroud)

我找不到这个的原因.

小智 5

试试这个

 @Resource(mappedName = "jdbc/mydb")
Run Code Online (Sandbox Code Playgroud)

而不是这个

 @Resource(name = "jdbc/mydb")
Run Code Online (Sandbox Code Playgroud)

它适用于glassfish 4. :)