JBoss AS 7 + MySQL
Friday, 29. July 2011
Se você quer rodar sua aplicação no JBoss AS 7 e quer usar MySQL você precisa seguir alguns poucos passos.
Por exemplo, no persistence.xml você configura sua persistence-unit assim:
<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="imobiliaria" transaction-type="JTA"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:/imobiliaria</jta-data-source> <properties> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.format_sql" value="false" /> <property name="hibernate.hbm2ddl.auto" value="create-drop" /> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" /> </properties> </persistence-unit> </persistence>
Sendo assim, com apenas um persistence-unit você não precisa configurar seu @PersistenceContext, ficando assim:
@PersistenceContext EntityManager entityManager;
Caso você tenha mais de um persistence-unit em seu persistence.xml, você deverá usá-lo dessa forma:
@PersistenceContext(name="meu_persistence_unit_name") EntityManager entityManager;
Além disso, também é necessário colocar o Driver como módulo pro JBoss AS 7.
Dentro da pasta onde você instalou o JBoss AS 7, existe a pasta “modules”, dentro dela existe a pasta “com”, dentro dela você criará a pasta “mysql”, e dentro dela, a pasta “main”.
Dentro da pasta main, você criará um arquivo chamado “module.xml” com o conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.17-bin.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
Onde em path=”mysql-connector-java-5.1.17-bin.jar” será o nome do seu mysql-connector. Este arquivo também deverá estar dentro da pasta: “modules/mysql/main”
Por fim, basta configurar o arquivo standalone.xml que está na pasta “jboss/standalone/configuration” adicionando o seu datasource, como abaixo:
<datasource jndi-name="java:/imobiliaria" pool-name="imobiliaria" enabled="true" jta="true" use-java-context="true" use-ccm="true">
<connection-url>
jdbc:mysql://localhost/imobiliaria
</connection-url>
<driver>
com.mysql
</driver>
<security>
<user-name>
root
</user-name>
<password>
</password>
</security>
</datasource>
E adicionar o driver dentro do nó <drivers>:
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
</xa-datasource-class>
</driver>
Como podem ver, é bem tranquilo. Segue abaixo um link relacionado ao assunto:
http://kousikraj.wordpress.com/tag/jboss-as-7-server-adapter-for-eclipse/ <- Instalando o adaptador do JBoss 7 no Eclipse
Arthur Kboing Says:
Eu amo o teu ponto.
Thyago Says:
Olá, achei bom o tutorial, mas minha duvida é a seguinte,
preciso coloca as informações da minha aplicação direto
nas configurações do Jboss ??
Não tem como fazer como usava
no Jboss 5, onde eu tinha apenas as definições de datasource
no meu persistence.xml, web.xml, jboss-config.xml (dentro do web-onf)
e era feito o deploy do projeto-ds.xml, que no caso pelo eclipse
era so mandar fazer o deploy.
mbbittencourt Says:
Thyago, não sei te dizer com precisão isso. Eu testei com um projeto que eu tinha e era dessa forma, não funcionou. Pode ser que exista essa possibilidade, mas alguns ajustes podem ser necessários.
Como de cara não funcionou, então eu fui e fiz via módulo mesmo.
Palestra @ PDCase – 04/11/11 – JBoss AS 7 | Messias Bittencourt Says:
[...] JBoss AS 7 + MySQL [...]