СВАРКА - ОСГИ Караф (WELD-ENV-002009) - PullRequest
0 голосов
/ 17 сентября 2018

Я хочу создать приложение для микросервисов с OSGI-Karaf, использующим WELD Interceptor.

Это мой Bundle-Activator, по заявке A

public class ActivatorBundle implements BundleActivator {
private AuditInitialize auditInitialize = new AuditInitialize();

@Override
public void start(BundleContext context) throws Exception {
    System.out.println("Running Bundle Activator!!!!");
    auditInitialize.weld = new Weld();
    auditInitialize.weld.setClassLoader(this.getClass().getClassLoader());
    auditInitialize.container = auditInitialize.weld.initialize();
}

@Override
public void stop(BundleContext context) throws Exception {
    auditInitialize.weld.shutdown();
}

У меня есть другое приложение B, которое сварило внутри приложения A .. Приложение B предназначено для библиотеки, которая вызывает это приложение A ..

это мой beans.xml, который объявляется в приложении A

<beans xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/beans_1_2.xsd">

<interceptors>
    <class>com.anabatic.audit.interceptor.InitializeAuditInterceptor</class>
</interceptors>

при развертывании приложения A запускается ошибка, подобная этой

java.lang.IllegalStateException: WELD-ENV-002009: Weld SE container cannot be initialized - no bean archives found
        at org.jboss.weld.environment.se.Weld.createDeployment(Weld.java:695)
        at org.jboss.weld.environment.se.Weld.initialize(Weld.java:570)
        at xxxxx.xxx.xx.xxx.xx.xx.ActivatorBundle.start(ActivatorBundle.java:17)
        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2239)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2145)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
        at java.lang.Thread.run(Thread.java:745)

Вы, ребята, можете мне помочь? Спасибо.

...