Domanda

Ho capito che JBossAS 5.x supportava l'iniezione di bean EJB3 in servlet con l'annotazione @ EJB3. Sto usando la configurazione predefinita per JBossAS 5.0.1.GA e non funziona. Ho aggiunto l'argomento mappedName all'annotazione @EJB con il nome JNDI dei bean di sessione e semplicemente non fa nulla. Nessun errore apparente, il bean non viene mai iniettato.

I bean di sessione sono nel ejb-jar, i servlet in una guerra, tutto è impacchettato in un orecchio. Le ricerche manuali JNDI funzionano bene. Qualche idea?

È stato utile?

Soluzione

Questo può accadere se web.xml punta a una versione precedente della specifica. Idealmente, dovrebbe essere qualcosa del genere

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
         xmlns="http://java.sun.com/xml/ns/j2ee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">

Questo link potrebbe essere di aiuto.

Altri suggerimenti

Dovresti anche controllare il file jar necessario per la distribuzione EJB3 nel file classpath.JAr è jboss-ejb3-ext-api.jar.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top