• Non ci sono risultati.

Sommario. Di 1. Capitolo 1: Iniziare con ejb 2. Titoli di coda 8. Osservazioni 2. Examples 2. Configurazione di EJB con JBoss AS 7.

N/A
N/A
Protected

Academic year: 2022

Condividi "Sommario. Di 1. Capitolo 1: Iniziare con ejb 2. Titoli di coda 8. Osservazioni 2. Examples 2. Configurazione di EJB con JBoss AS 7."

Copied!
10
0
0

Testo completo

(1)

ejb

#ejb

(2)

Sommario

Di 1

Capitolo 1: Iniziare con ejb 2

Osservazioni 2

Examples 2

Configurazione di EJB con JBoss AS 7.1 2

Titoli di coda 8

(3)

Di

You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: ejb

It is an unofficial and free ejb ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official ejb.

The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.

Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to info@zzzprojects.com

https://riptutorial.com/it/home 1

(4)

Capitolo 1: Iniziare con ejb

Osservazioni

Questa sezione fornisce una panoramica su cosa sia ejb e perché uno sviluppatore potrebbe volerlo utilizzare.

Dovrebbe anche menzionare qualsiasi argomento di grandi dimensioni all'interno di ejb e collegarsi agli argomenti correlati. Poiché la documentazione di ejb è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Examples

Configurazione di EJB con JBoss AS 7.1

1. Panoramica

In questo articolo discuteremo come iniziare con Enterprise JavaBeans (EJB). Useremo JBoss AS 7.1.1.Final, ma sei libero di utilizzare qualsiasi server di tua scelta.

2. Dipendenze di Maven per Bean

Per utilizzare EJB assicurati di aver aggiunto l'ultima versione di esso alla sezione delle dipendenze del tuo file pom.xml:

<dependency>

<groupId>org.jboss.spec.javax.ejb</groupId>

<artifactId>jboss-ejb-api_3.2_spec</artifactId>

<version>1.0.0.Final</version>

</dependency>

Assicurati di aggiungere correttamente le dipendenze di JBoss, poiché in questo tutorial

utilizzeremo JBoss come server delle applicazioni. Nella parte successiva del tutorial discuteremo in dettaglio su come impostare la build di maven per il progetto.

3. Telecomando EJB

Iniziamo con la creazione dell'interfaccia Bean chiamata HelloWorldRemote.

public interface HelloWorldRemote { public String getHelloWorld();

}

Ora implementeremo la suddetta interfaccia e la HelloWorldBean .

@Stateless

(5)

public HelloWorldBean() {

}

@Override

public String getHelloWorld(){

return ("Hello World");

} }

Notare la notazione @Stateless in cima alla dichiarazione della classe. Denota un bean di sessione stateless.

4. Impostazione Maven per Remote Bean

In questa sezione discuteremo come configurare Maven per creare ed eseguire l'applicazione sul server.

Diamo un'occhiata ai plugin uno per uno.

4.1. Compilatore Plugin

Il plugin maven-compilatore è usato per compilare le fonti del nostro progetto.

Qui abbiamo usato la versione 2.3.1 del plugin con il JDK di origine e destinazione impostato su 1.7 in configurazione.

Abbiamo definito queste impostazioni come proprietà all'interno del tag e riferendole a $ {property}.

<version.compiler.plugin>2.3.1</version.compiler.plugin>

<!-- maven-compiler-plugin -->

<maven.compiler.target>1.7</maven.compiler.target>

<maven.compiler.source>1.7</maven.compiler.source>

4.2 Il plugin EJB

Questo plugin genera file Bean e il jar client associato.

Abbiamo specificato la versione ejb come 3.2 e la proprietà generateClient è impostata su true che genera il client.

4.3 Distribuzione in JBoss

Il plugin jboss-as-maven viene utilizzato per distribuire, ridistribuire, annullare la distribuzione o eseguire l'applicazione in JBoss AS 7.

In questa configurazione specifichiamo il nome del file di build come il nome del file di costruzione del progetto, che per impostazione predefinita è la forma artifactid-version nel nostro caso ejb- remote-1.0-SNAPSHOT .

https://riptutorial.com/it/home 3

(6)

4.4 Dipendenze Maven richieste per EJB

jboss-javaee-6.0 definisce la versione delle API Java EE 6 di JBoss che vogliamo utilizzare.

JBoss distribuisce un set completo di API Java EE 6 tra cui una distinta base (BOM).

Una distinta base specifica le versioni di uno stack (o una raccolta) di risorse. Lo specifichiamo nel tag in modo da ottenere sempre le versioni corrette degli artefatti. Il tipo di questa dipendenza è un pom che contiene le dipendenze richieste.

<dependency>

<groupId>org.jboss.spec</groupId>

<artifactId>jboss-javaee-6.0</artifactId>

<version>${version.org.jboss.spec.jboss.javaee.6.0}</version>

<type>pom</type>

<scope>import</scope>

</dependency>

4.5 annotazioni

Quanto segue otterrà la dipendenza delle annotazioni:

<dependency>

<groupId>org.jboss.spec.javax.annotation</groupId>

<artifactId>jboss-annotations-api_1.1_spec</artifactId>

<scope>provided</scope>

</dependency>

4.6 EJB versione 3.2

Nel seguente pezzo di codice otteniamo l'ultima versione delle specifiche:

<dependency>

<groupId>org.jboss.spec.javax.ejb</groupId>

<artifactId>jboss-ejb-api_3.2_spec</artifactId>

<version>1.0.0.Final</version>

</dependency>

Per eseguire il progetto sopra in un server JBoss, è necessario prima eseguire:

mvn clean install

Quindi dobbiamo implementarlo su un server JBoss in esecuzione eseguendo il seguente comando maven:

jboss-as:deploy

Ora dovresti vedere il file jar che viene distribuito nel server jboss.

In alternativa è possibile copiare il jar disponibile dalla cartella di destinazione nel progetto e

(7)

5. Impostazione del progetto client

Dopo aver creato il bean remoto, dovremmo testare il bean distribuito creando un client.

Per prima cosa discutiamo dell'installazione di Maven per il progetto.

5.1 Plugin Maven utilizzati

Il plugin maven-compilatore è usato per compilare le fonti del tuo progetto.

Abbiamo specificato la versione di jdk 1.7 per le classi di origine e di destinazione.

Il nostro client è un programma Java, per eseguirlo usiamo il exec-maven-plugin che aiuta a

eseguire programmi Java e di sistema. Dobbiamo specificare l'eseguibile (cioè java), classpath e la classe java (com.baeldung.ejb.client.Client).

Il classpath è vuoto perché il plugin include gli argomenti del percorso di classe necessari in base alle dipendenze fornite.

5.2 Dipendenze di Maven per il client EJB3

Per eseguire il client EJB3 è necessario includere le seguenti dipendenze.

Dipendiamo dalle interfacce aziendali remote EJB di questa applicazione per eseguire il client.

Quindi dobbiamo specificare la dipendenza del jar del client ejb. Il tag con valore "ejb-client" viene utilizzato per specificare la dipendenza di questo progetto dal jar del client EJB.

<dependency>

<groupId>com.theopentutorials.ejb3</groupId>

<artifactId>ejbmavendemo</artifactId>

<type>ejb-client</type>

<version>${project.version}</version>

</dependency>

Le dipendenze jboss-transaction-api_1.1_spec , jboss-ejb-api_3.1_spec , jboss-ejb-client , xnio-api

, xnio-nio , jboss-remoting , jboss-sasl , jboss-marshalling-river hanno scope come runtime perché questi sono richiesti tempo di esecuzione e non durante la compilazione.

Le dipendenze jboss-javaee-6.0 e jboss-as-ejb-client-bom sotto dependencyManagement hanno scope come import. Viene utilizzato per includere le informazioni sulla gestione delle dipendenze da un POM remoto nel progetto corrente. Queste POM remote sono fornite da JBoss che contiene le dipendenze necessarie per l'esecuzione del client.

5.3 Proprietà client JBoss EJB

Crea un file sotto "src / main / resources" e chiamalo come jboss-ejb-client.properties.

remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false remote.connections=default

remote.connection.default.host=localhost remote.connection.default.port = 4447

remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false

https://riptutorial.com/it/home 5

(8)

6. Creazione della classe client

Per prima cosa creiamo una classe ClientUtility:

public class ClientUtility {

private static Context initialContext;

private static final String PKG_INTERFACES = "org.jboss.ejb.client.naming";

public static Context getInitialContext() throws NamingException { if (initialContext == null) {

Properties properties = new Properties();

properties.put(Context.URL_PKG_PREFIXES, PKG_INTERFACES);

initialContext = new InitialContext(properties);

}

return initialContext;

} }

Ora creiamo la classe Client effettiva che consumerà il bean che abbiamo distribuito nel server:

public class Client {

//The lookup method to get the EJB name private static HelloWorldRemote doLookup() { Context context = null;

HelloWorldRemote bean = null;

try {

// 1. Obtaining Context

context = ClientUtility.getInitialContext();

// 2. Generate JNDI Lookup name String lookupName = getLookupName();

// 3. Lookup and cast

bean = (HelloWorldRemote) context.lookup(lookupName);

} catch (NamingException e) { e.printStackTrace();

}

return bean;

}

private static String getLookupName() {

// The app name is the EAR name of the deployed EJB without .ear suffix.

// Since we haven't deployed the application as a .ear, the app name for // us will be an empty string

String appName = "";

// The module name is the JAR name of the deployed EJB without the .jar // suffix.

String moduleName = "ejb-remote-0.0.1-SNAPSHOT";

// AS7 allows each deployment to have an (optional) distinct name. This // can be an empty string if distinct name is not specified.

String distinctName = "";

(9)

String beanName = "HelloWorldBean";

// Fully qualified remote interface name

final String interfaceName = "com.baeldung.ejb.tutorial.HelloWorldRemote";

// Create a look up string name

String name = "ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + interfaceName;

return name;

} }

La classe Client consuma il bean e genera il risultato.

7. Conclusione

Quindi abbiamo creato un server EJB e un client che consuma il servizio. Il progetto può essere eseguito su qualsiasi Application Server.

Leggi Iniziare con ejb online: https://riptutorial.com/it/ejb/topic/5704/iniziare-con-ejb

https://riptutorial.com/it/home 7

(10)

Titoli di coda

S.

No Capitoli Contributors

1 Iniziare con ejb Community, Pritam Banerjee, RamenChef

Riferimenti

Documenti correlati

Concentrating solar power (CSP) technologies use mirrors to reect and concentrate sun- light onto receivers that collect the solar energy and convert it to heat.. This thermal

Frequenza respiratoria (categoria) all’arrivo del personale di emergenza sulla scena Ordinale RTS 4 = 10–29 (normale) RTS 3 = &gt;29 (veloce) RTS 2 = 6–9 (lento) RTS 1

Parole chiave: Intrusione di acqua salata, cono di intrusione marina, acquiferi carbonatici, dispersione idrodinamica, acqua dolce di falda Key words: Salt-water intrusion,

Il client HTTP trasmette un messaggio di richiesta (con l’URL) nella socket della connessione TCP. Il messaggio indica che il client vuole

Quando invece usi il bicchiere quadrato, non osserverai alcun cambiamento nelle dimensioni della parte immersa della matita, qualunque sia la sua posizione rispetto al vetro

2.3) Le riflessioni di un esperto: intervista al prof.. 67 3.2) L’acquisizione da parte della Cassa e il processo di integrazione. 78 3.3) Il Banco di Lucca ed il suo rapporto con

Il server HTTP riceve il messaggio di richiesta, forma il messaggio di risposta che contiene l’oggetto richiesto e invia il messaggio nella sua socket. (contiene testo,

In particolare, per i dati VRP acquisiti nel 2011, sono stati utilizzati lo stesso sistema e lo stesso setup scelti per l'acquisizione VRP nel Central borehole e nel Western