2

ServiceTrackerを使用して OSGi サービスを EJB に注入できることはわかっています。

しかし、OSGi Blueprint XML 構成を使用して標準 EJB にサービスを注入し、EJB が別の場所で使用されているときにサービスを利用できるようにするにはどうすればよいでしょうか? それとも、EJB は独自のレイヤーで動作するため、本当に不可能なのでしょうか?

私は JBoss AS7 を使って Aries Blueprint と Gemini Blueprint でこれをやろうとしましたが、運が悪かったです。

ビーンの例として:

import javax.annotation.PostConstruct;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;

import org.osgi.framework.BundleContext;

@Stateless
@LocalBean
public class SimpleStatelessSessionBean {

  InformationService service; // how'd I go about to get this populated?

  @PostConstruct
  public void init() {

  }

  public String getMessage() {

    if (service == null)
      throw new IllegalStateException("Service not available");

    return "EJB:" + service.getMessage();
  }
}
4

1 に答える 1

1

私が尋ねたことは実際には不可能のようです。

可能なことは

于 2012-12-21T12:13:01.047 に答える