草庐IT

java - Jetty Embedded, Jersey 2, Weld

我正在使用Jetty9.1和Jersey2.5.1。Jersey内置了对Jetty的支持,所以我这样启动我的服务器:publicstaticvoidmain(String[]args){URIbaseUri=UriBuilder.fromUri("http://localhost/").port(8080).build();ResourceConfigconfig=ResourceConfig.forApplicationClass(MyApplication.class);Serverserver=JettyHttpContainerFactory.createServer(base

java - 为什么不在同一个服务类中调用拦截器?

我想在Java-SE应用程序中使用拦截器,我正在使用weld作为CDI实现,我正在这里测试它:主类:publicstaticvoidmain(String[]args){WeldContainerweldContainer=newWeld().initialize();Serviceservice=weldContainer.instance().select(Service.class).get();service.methodCall();service.methodCallNumberTwo();}服务类:publicclassService{@TestAnnotationpub

java - Spring 能否理解 @Inject 将 Weld 替换为 JSR-299 实现?

我从几个网页上注意到,显然Spring3.0支持来自JSR-330的@Inject。由于我们真的很想在我们的库中为Web应用程序和独立应用程序使用JSR-299语法进行依赖项注入(inject),并且有Weld的替代方案,如果Spring可以做到这一点,那就太好了。作为Spring的新手,我尝试下载SpringFramework发行版并将所有jar放在Eclipse构建路径上。没有Inject注释,所以我现有的使用Weld的测试项目没有编译。这可以用Spring来完成吗?我需要做什么才能让它运行?(我知道Guice最终也会支持这个。它现在只在SVN中,如果有一个正式的Spring版本可

java - CDI部署失败:WELD-001414 Bean name is ambiguous

我有一个应用程序,它有多个模块和各种依赖项。当我在Glassfish4上部署应用程序时,出现错误:org.jboss.weld.exceptions.DeploymentException:WELD-001414Beannameisambiguous.NameJerseyClassAnalyzerresolvestobeans:[ManagedBean[classorg.glassfish.jersey.internal.inject.JerseyClassAnalyzer]withqualifiers[@Default@Named@Any],ManagedBean[classorg.

java - 将 Weld 与 Dropwizard 结合使用

我正在尝试使用Weld-SE在dropwizard应用程序中进行依赖注入(inject)。我可以像这样引导Weld并注入(inject)Application类:publicclassAppextendsApplication{@InjectNameServiceservice;@InjectRestResourceresource;publicstaticvoidmain(String[]args)throwsException{Weldweld=newWeld();WeldContainercontainer=weld.initialize();Appapp=container.i

java - 为什么 Weld 在 Tomcat 上显示 "Injection into Listeners is not supported"?

我有一个使用Resteasy的Web项目(它又使用Weld)并部署到Tomcat7.0.22(我把具体版本放在这里以防这个问题是这个版本特有的)。我有一个如下所示的ServletContextListener:@WebListenerpublicclassApplicationInitialisationListenerimplementsServletContextListener{//createaloggerhere@InjectHealthCheckhealthCheck;@OverridepublicvoidcontextInitialized(ServletContextE

java - 了解多模块应用中的 CDI/Weld

我有一个打包在EAR中的应用程序,其中包含许多JAR(带有EJB、库、第3方库……)和一个WAR(同样包含一些其他JAR)。该应用程序部署在JEE7容器(Wildfly8.0.0.Final)中并使用CDI(Weld2.1.2.Final随Wildfly一起提供)。据我了解,Weld在应用程序范围内处于Activity状态,并且具有单一的应用程序范围View。因此,我想在何处使用CDI并不重要-它可以正常工作。但有一些迹象表明这不是真的。例如。toString-BeanManager的方法在不同的模块中显示不同的输出:在war中打包的某个模块中使用BeanManager时,我得到为te

java - CDI Weld 忽略排除项

我正在使用WeldSE在我的应用程序中使用CDI。由于某些库可能具有@Inject注释并且不想让Weld扫描所有库。因此我想排除beans.xml中的某些包前缀:但在执行时出现以下错误:2014-05-26T17:02:49.855-INFO-Version-WELD-000900:SNAPSHOT2014-05-26T17:02:50.340-WARN-Bootstrap-WELD-001208:Errorwhenvalidatingjar:file:/home/trichner/uepaa/uepaa-net/cloud/target/unet-cloud-0.1-SNAPSHOT

java - 如何通过 BeanManager 创建和销毁 CDI (Weld) Managed Beans?

我正在尝试使用BeanManager而不是Instance.select().get()创建CDI托管bean的实例。这被建议作为解决我一直遇到的ApplicationScopedbean及其依赖项的垃圾收集问题的解决方法-请参阅CDIApplicationandDependentscopescanconspiretoimpactgarbagecollection?对于背景和这个建议的解决方法。如果您在ApplicationScopedbean上使用Instance编程查找方法,则Instance对象和您从中获得的任何bean最终都依赖于ApplicationScopedbean,因此

java - WELD-001303 范围类型 javax.enterprise.context.SessionScoped 没有 Activity 上下文

我搜索了所有地方,但似乎找不到解决此错误的最佳答案,有我的堆栈跟踪,有人能告诉我发生了什么事吗,我花了两个日期才找到此错误。...:(16:55:02,405SEVERE[org.activiti.engine.impl.jobexecutor.TimerCatchIntermediateEventJobHandler](Thread-16(HornetQ-client-global-threads-982087879))exceptionduringtimerexecution:org.activiti.engine.ActivitiException:Exceptionwhilei