我想问一下实现CDI +消息驱动的使用者的最佳方法是什么或什么方法。下面的示例代码是我的应用程序的实际实现。另外,我使用apache maven作为应用程序构建工具。
ITransactionService.java
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms'; //<---- IMPORTED
import { AppComponent } from './app.component';
import { HeroFormComponent } from './hero-form/hero-form.component';
@NgModule({
imports: [
BrowserModule,
FormsModule //<---- IMPORTED IN MODULE
],
declarations: [
AppComponent,
HeroFormComponent
],
providers: [],
bootstrap: [ AppComponent ]
})
export class AppModule { }
TransactionServiceBean.java
public interface ITransactionService{
void process();
}
TransService.java
@RequestScoped
@TransService
public class TransactionServiceBean implements ITransactionService{
@Override
public void process(){
/logic here
}
}
JMSConsumerService.java
@Documented
@Retention(RUNTIME)
@Target({TYPE, FIELD, METHOD, PARAMETER})
@Qualifier
public @interface TransService{
}
当我在JBoss 6.4上运行该应用程序时,在日志中出现以下错误,并且该应用程序无法在应用程序服务器中启动。.
无法解析CDI bean作为注入点
有人可以帮我吗?
答案 0 :(得分:0)
为什么 RequestScoped ?
我认为,请求上下文不会被消息隐式传输。因此我可以想象,MessageDriven-Bean将找不到可以安全使用的实例。您尝试使用@ Dependent 还是@ ApplicationScoped ?