J'ai une classe d'activateur de faisceau et quelques codes là. Je dois utiliser @Autowired dans ma classe d'activateur de bundle. Ça ne marche pas. Voici mon paquet classe Activator,Comment utiliser la référence de service OSGi dans d'autres classes?
public class ProviderActivator implements BundleActivator {
@Autowired
public TestingClass testingClass;
public void start(final BundleContext bundleContext) throws Exception {
System.out.println("bundle starter!!!!!!!!!!!!!!" +testingClass);
}
}
SOP testingClass est nulle. Analyse contextuelle Spring ajoutée dans spring-context.xml.
ici ma suggestion est,
le haricot injecté après la classe BundleActivator chargée.
Comment prévenir cela? pourquoi le bean est nul au démarrage de la classe bundle?
Hi @Sridhar dépend de la façon dont votre offre est lancée. Si vous utilisez Java pur, ou Spring ou Blueprint. Blueprint est très similaire à Spring, vous utilisez un fichier XML pour configurer les beans et injecter dans d'autres classes. Vous voudrez peut-être lire ceci: http://blog.knowhowlab.org/2010/10/osgi-tutorial-4-ways-to-activate-code.html –
Ensuite, veuillez éditer votre question et spécifier comment activer votre bundle –