Conexão Banco de dados com ejb 3 e jboss 7

Estou criando uma aplicação web usando jboss 7.1 com ejb 3 quero fazer uma conexão com banco de dados mysql isso é possível fazer criando uma classe module.xml alterando a classe standalone.xml. Isso eu consegui exitem vários tutoriais na internet, mas o que eu queria fazer era diferente queria eu poder configurar a conexão com o banco de dados com o jboss 7 a partir do próprio projeto sem configurar diretamente nos arquivos xml do jboss 7, assim como é feito no tomcat 7 que você tem um arquivo

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true">
	<Resource name="jdbc/FinanceiroDB"
	auth="Container"
	type="javax.sql.DataSource"
	maxActive="100"
	maxIdle="30"
	maxWait="10000"
	username="root"
	password="root"
	driverClassName="com.mysql.jdbc.Driver"
	url="jdbc:mysql://localhost:3306/financeiro?autoReconnect=true"/>

applicationContext.xml

	<bean id="financeiroDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName">
			<value>java:comp/env/jdbc/FinanceiroDB</value>
		</property>
	</bean>

hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
		<!--  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>-->
		<!-- <property name="connection.url">jdbc:mysql://localhost/financeiro</property>-->
		<!-- <property name="connection.username">root</property>-->
		<!-- <property name="connection.password">root</property>-->
		<property name="connection.datasource">java:/comp/env/jdbc/FinanceiroDB</property>
	    <property name="current_session_context_class">thread</property>
	   <property name="hibernate.hbm2ddl.auto">update</property>    
		
		<mapping class="financeiro.usuario.Usuario"/>
		<mapping class="financeiro.conta.Conta"/>
		<mapping class="financeiro.categoria.Categoria"/>
		<mapping class="financeiro.lancamento.Lancamento" />
		<mapping class="financeiro.cheque.Cheque"/>
		<mapping class="financeiro.bolsa.acao.Acao"/>
		
	</session-factory>		
</hibernate-configuration>

Assim é feito a conexão toda pelo lado da aplicação com o Tomcat 7. Queria saber como fazer a mesma coisa no Jboss 7 se é possível transferir a responsabilidade da conexão para a aplicação não para o servidor de aplicação. Desde já agradeço a todos pela ajuda :slight_smile: .

Você está olhando para a fábrica de conexões como um usuário isolado. Imagine n usuários tentando usar sua aplicação para conectar a um banco de dados. Quem vai gerenciar essas conexões? Não é a sua aplicação, mas sim o servidor de aplicações, por meio dos pools de conexões.

É justamente por causa disso que o TomCat é usado para desenvolvimento, mas não pode ser usado em ambiente de produção. O Jboss, o Glassfish, estes vão gerenciar suas conexões de maneira correta - mas você precisa dizer a eles como vão ser feitas as transações e etc. E por ser um servidor, o Jboss (ou o Glassfish, também) pode compartilhar estes pools (ou datasources) com outras aplicações e gerenciar tudo isso para elas. Assim, se já houver um pool definido, minha aplicação vai apenas se beneficiar disso, já que eu não vou precisar me preocupar como ele funciona. Basta referenciar e usar.

Além disso, você está repetindo várias vezes a mesma conexão em seus arquivos de configuração. Isso não é necessário, já que no Jboss isso já foi definido. Você precisa apenas se referir ao nome dado ao local-tx-datasource. Veja um exemplo aqui: http://rfavero.blogspot.com.br/2013/09/configurando-fontes-de-dados-com-o.html

Mesmo sendo para Jboss 6, no lado da aplicação não muda nada ao migrar para o 7.

Como assim? oO

Acho que entendi agora tava querendo fazer uma parada meio maluca mesmo heheheh vlwww pelas dica Roselito Fávero da Silva entendi como pode ser feito ja sanei minhas dúvidas vlwww