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

 

4 Responses to “JBoss AS 7 + MySQL”



  1. Arthur Kboing Says:

    Eu amo o teu ponto.



  2. 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.



  3. 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.



  4. Palestra @ PDCase – 04/11/11 – JBoss AS 7 | Messias Bittencourt Says:

    [...] JBoss AS 7 + MySQL [...]

Leave a Reply