首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java SE和Weld?

Java SE和Weld?
EN

Stack Overflow用户
提问于 2018-10-10 12:35:48
回答 1查看 1K关注 0票数 0

我目前正在测试用于Java (焊缝)的CDI2.0--我读到,没有必要使用beans.xml,所以我尝试了这样做:

Hallo.class:

代码语言:javascript
运行
复制
public class Hallo {

   public String sayHallo() {
      return "hallo";
   }
}

然后我有一个Test.class:

代码语言:javascript
运行
复制
@ApplicationScoped
public class Test {

@Inject Hallo hallo;

   public String sayHallo() {
      return hallo.sayHallo() + " from Test";
   }
}

最后,我尝试使用CDI:

代码语言:javascript
运行
复制
public class Demo {

public static void main(String[] args) {
    SeContainerInitializer initializer = SeContainerInitializer.newInstance();
    /** disable discovery and register classes manually */
    try (SeContainer container = initializer.disableDiscovery().addPackages(Demo.class).initialize()) {
        Test test = container.select(Test.class).get();
        test.sayHallo();
    }
}
}

不幸的是,它不起作用。我收到这样的信息:

2018年2:22:04 org.jboss.weld.bootstrap.WeldStartup信息:焊缝-000900: 3.0.5 (最终) 2018年2:22:05 org.jboss.weld.bootstrap.WeldStartup startContainer信息:焊缝-000101:事务性服务不可用。注入@ Injection UserTransaction不可用。事务观察员将被同步调用。 2018年2:22:05 org.jboss.weld.environment.se.WeldContainer fireContainerInitializedEvent信息:焊缝-ENV-002003:焊缝SE容器5adc2948-acd7-423c-84dc-c1463534c309初始化 2018年2:22:05 org.jboss.weld.environment.se.WeldContainer停工信息:焊缝-ENV-002001:焊缝SE容器5adc2948-acd7-423c-84dc-c1463534c309关闭

我遗漏了什么?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-11 14:34:11

CDI容器工作正常。

Transactional services not available声明您没有在事务管理器下运行,默认情况下,事务管理器在应用程序服务器中运行(几乎)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52740430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档