当前位置: 首页 > 知识库问答 >
问题:

@专门研究Wildfly 10.1。0

赵永新
2023-03-14

我们正在尝试为部署在Wildfly 10.1上的集成测试套件使用替代bean实例注入。0服务器。

根据CDI 1.2规范,这样做的一个可能解决方案是仅在集成测试归档中部署的替代方案上使用@Specializes注释。

但是,默认实现始终是注入的。我们在托管bean、会话bean上尝试了@专业,并尝试在beans.xml文件中选择替代选项。

以下示例说明了该问题:

豆面。JAVA

public interface BeanInterface {
    void work();
}

实施1。JAVA

@Dependent
public class Implementation1 implements BeanInterface {
    @Override
    public void work() {
        System.out.println("test 1");
    }
}

二、实施

@Dependent
@Alternative
@Specializes
public class Implementation2 extends Implementation1 {
    @Override
    public void work() {
        System.out.println("test 2");
    }
}

测试单例。爪哇:

@Singleton
@Startup
public class TestSingleton {

    @Inject
    private BeanInterface beanInterface;

    @PostConstruct
    public void init() {
        this.beanInterface.work();
    }
}

在战争中打包这些类(使用web.xml)并部署在野蝇上,实现1总是被注入到无状态bean中。

Wildfly 10.1。0使用焊缝-2.3。实现CDI 1.2的SP2。

谢谢,

查理

共有1个答案

洪浩
2023-03-14

尽管它不能使@Specializes注释按预期工作,但John Ament建议的这个解决方案允许注入第二个实现。

只需更改@javax。企业注射专门使用@javax进行注释。注释。优先级(和某些值):

@Dependent
@Alternative
@Priority(100)
public class Implementation2 extends Implementation1 {
    @Override
    public void work() {
        System.out.println("test 2");
    }
}

OP问题中还缺少包装在WEB-INF中的beans.xml(web.xml):

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
                      http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
    bean-discovery-mode="all">
</beans>
 类似资料:
  • 问题内容: 我有一个包含的字符串变量 字符串不包含空格。我想编写一个仅打印包含(az)的单词的正则表达式,我尝试了一个简单的正则表达式 match对象仅包含单词,而单词不匹配。 使用时,我可以同时获得和。 我的问题是为什么我们不能这样做? 如何处理? 问题答案: 在字符串documenation中找到 一次 模式: 扫描字符串以查找正则表达式模式产生匹配项的位置,然后返回相应的MatchObjec

  • 可实施的谍报技术通常是持续对一个特定目标的挖掘。在进行比赛性的Wargame时你将会几乎将所有经历集中在规避检测并不暴露你的工具集(基础工具、漏洞利用)的风险。 课程 Post-Exploitation and Operational Security A Brief History of CTF and Tradecraft Operational Use of Offensive Cyber

  • 总共十分钟吧, 第一个自我介绍,我介绍了前端项目,科研项目; 问题1,页面跳转怎么实现的?我说了一大长溜,感觉很流利; 问题2,底层原理知道吗?直接傻眼,我一个搞前端的不知道底层。感觉想要全栈是; 问题3,科研项目介绍一下,速度提高一倍怎么实现的?我说是降低算法复杂度,用组合简单的算法达到同样的效果; 问题4,算法复杂度怎么降低的?。。直接吐血,我不记得了,就是用比较简单的结构元素实现的。 然后就

  • 1. 深挖项目。 每个项目的主要难点,以及你做了什么,提到的有中间人攻击、数字证书之类的。 2. Java八股 final关键字的用途? static关键字的用途?两者的区别? 非对称密码算法和对称密码算法的区别和联系? RSA的数学证明? 为什么web端的数字证书能够被抓包 解析之类的? 序列化和反序列化中有什么漏洞? 还有记不清了 哈哈哈 3. 手撕代码以及优化 斐波那契 递归 双指针 快速查

  • 147.概述 本章将介绍各种性能和故障排除案例研究,这些案例研究可以为诊断 Apache HBase 集群问题提供有用的蓝图。 有关性能和故障排除的更多信息,请参阅 Apache HBase 性能调优和故障排除和调试 Apache HBase 。 148.架构设计 请参阅此处的架构设计案例研究:架构设计案例研究 149.性能/故障排除 149.1。案例研究#1(单节点上的性能问题) 149.1.1

  • 经典背包。 这里有一个转折:在这些物品中,我需要确保我有从不同类别中提取的特定数量(不是最高的,而是确切的数量)。 所以让我们假设我们有类别 null