问题标签 [weld-se]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 为什么我的拦截器在 Weld SE 单元测试中失败?
我有一个拦截器,当我在 Web 应用程序中使用它时,它似乎被 JBoss(EAP 6.4)正确加载,但当我在weld-se 上下文中使用相同的 beans.xml 时被拒绝。
和一个测试:
当我运行测试时:
我真的不知道应该添加或删除什么,为什么 Weld org.jboss.weld.se:weld-se:1.1.28.Final 似乎对 JBoss 中的同一个版本的焊接做不同的事情?
编辑:我的 beans.xml:
再次编辑我的pom:
java - 在 Java SE 中焊接 CDI:过早调用 PreDestroy 注释方法?
给出以下代码,我想知道为什么在调用 @PreDestroy 注释方法 (CacheManager#doCleanup) 后 CacheManager 仍然“活动”(请参阅本文末尾的输出)。Weld 不知道它仍然被引用的事实吗?以及当对象真的不再使用时如何调用此方法?
主班
MyLaucher 类
PeriodicScanner 类...
和CacheManager 类:
输出是:
如您所见,周期性扫描器在容器关闭后仍然存在。目前,防止过早调用doCleanup()的唯一方法是在 startScanner()返回的 Future 对象上调用 get( ):
这样,主应用程序线程就不会退出。
有人知道更好的方法吗?
谢谢
我
cdi - Weld 3 启动时发出警告,其中 XSD 无效 beans.xml 用于焊接:扫描标记
我刚刚将 Weld 从 2.4.4 版本更新到 3.0.1。我在应用程序启动时遇到以下错误,我找不到解决方案。我正在使用焊接 SE。
包含一个特定于焊接的beans.xml
标签以在扫描中包含一些类(因为 CDI 规范仅支持排除)。
我使用以下 Maven Weld SE 依赖项。
你能告诉我我应该怎么做才能解决这个问题吗?我检查了 CDI 2.0 XSD,但没有找到。也许,CDI 现在原生支持扫描的包含限制?或者 Weld XSD 可能发生了变化?
我已经在Weld 的错误跟踪器上创建了一张票,以防它是一个错误。
java - 连接到 WELD-SE 类路径扫描器
我一直在寻找关于 WELD-SE 的类路径扫描器 API 的文档,但一直没有找到。我正在尝试本着 Servlet、WebSocket 和 JAX-RS API 的精神发现带有自定义注释的 POJO。有没有办法用 WELD 做到这一点?
我意识到已经有一些库可以进行类路径扫描,例如 Scannotation、FastClasspathScanner、Corn-CPS 等,但我正在努力保持这个项目的精简,并且不介意与 WELD 紧密集成。
java - Weld-SE 未启动,未找到 bean 存档
我试图在我的 Quartz 应用程序中初始化 CDI-SE 上下文,所以我有以下依赖项(maven):
在我的 JobQuartz 中,我有 execute() 方法,其中包含以下内容:
但我收到以下错误:
我的项目是 WAR,所以我把 beans.xml 文件放在里面/src/main/webapp/META-INF/
,看内容:
我将文件复制到/src/main/resource/META-INF
,但我得到了同样的错误。
java - 焊接示例中的 JNI 错误
实际上,我想使用 Weld-SE 创建一个类似于 JavaSE 应用程序的小型“Hello WOrld”示例,但似乎存在运行时错误。
这是我的课:
这是我的 pom.xml:
我已经安装了 Java JDK 1.8.0_151 和 Maven 3.5.2。编译过程成功,但是当我在目标目录中执行创建的 jar 文件时,我会一直收到以下错误:
有什么我没有提到或我做错了吗?是否有任何依赖性,不包括在内?
我再次安装了 Java、Maven 和 Eclipse,但没有任何帮助。
非常感谢丹尼尔
cdi - 批处理作业完成之前的范围冲突?
技术栈:
- JBeret (core, se) 1.3.0.Final
- Hibernate Search (orm, jsr352-core, jsr352-jberet) 5.10.4.Final
- Weld (servlet-core, se-core) 3.0.5.Final
如果我触发
BatchRuntime.getJobOperator().start(
MassIndexingJob.NAME,
MassIndexingJob.parameters().forEntity(getDomainObjectClass()).build()
);
然后我遇到了在批处理作业完成之前无法访问批处理作业之外RequestScoped
的任何CDI 组件的情况SessionScoped
。
我该如何解决这个问题?
堆栈跟踪的一部分
注释@ActivateRequestContext
在启动/部署时生成此堆栈跟踪
java - 如何为泛型继承类型注入?
我花了很多时间寻找任何答案,但我想我必须问。
我正在使用 Weld-SE 来测试我的实体。
我准备了实体随机器进行测试。
现在,在我的测试类中,我想注入那些与通用参数匹配的随机器
准备了随机化器和测试的子类。
但我没能成功。
我怎样才能让它工作?
我尝试了以下工厂课程
我有
cdi - Weld CDI:尽管有 cdi-spec,但超类替代品的生产商仍然有效
给定
及其替代方案:
比恩在哪里
注入 MainClass:
然后:
没有错误。我原以为必须使用 addBeanClass 添加Bean.class才能满足MainClass中的注入。解释是BeanContainerAlt的超类,其Producers应该是无效的,产生了Bean-Object。这种行为是有意的还是根据规范(我没有找到),它可能在焊接文档中定义吗?
源代码可以在 examplesrc中找到
在那个项目中应该让它运行
jar - 从命令行运行时,weld-se 无法在类路径的不同 jar 中找到 bean
我有一个使用weld-se 的简单独立应用程序,但是我无法从类路径上的所有bean 档案中检测到bean
基本上,我在运行的目录中有一堆 jar 文件:
其中两个 jar 文件是 bean 档案,并且很好地发现了发生weld.initialize() 的 jar 中包含的 bean。
但是,来自其他 jar 文件的那些将被完全忽略。这对我来说似乎很奇怪,尽管我不知道这是否真的是它的意图。如果是这样,有什么不同的解决方案?