DataSource

olá, registrei o seguinte datasource no meu struts-config:

obs.: substitui < por [ e > por ], pois o framework desse site não permite tags html


[data-sources]
[data-source key=“teste” scope=“Shareable” auth=“Container” name=“jdbc/teste”]
[set-property value=“4” property=“maxCount” /]
[set-property value=“2” property=“minCount” /]
[set-property value=“Artimus:MySQL Data Source Configuration” property=“description” /]
[set-property value=“sun.jdbc.odbc.JdbcOdbcDriver” property=“driverClass” /]
[set-property value=“jdbc:odbc:blank” property=“url” /]
[set-property value=“true” property=“autoCommit” /]
[set-property value=“sa” property=“user” /]
[set-property value=“sa” property=“password” /]
[set-property value=“org.apache.commons.dbcp.BasicDataSourceFactory” property=“factory” /]
[/data-source]
[/data-sources]


agora, como faço para pega-lo em minha classe de negócio?

[quote=“fabiostb”]obs.: substitui < por [ e > por ], pois o framework desse site não permite tags html
[/quote]

…permite sim :slight_smile: , é só tu habilitar a check box onde diz “Desativar HTML nesta mensagem” qnd tu for postar… :grin:

Bom, não era essa a resposta que esperava :???: mas obrigado!!! :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:

O ideal é que vc utilize um DataSource fornecido pelo container e não através do que vem na Struts, pois na Struts a maneira de pegar o DataSource (deprecated) é via ServletControler ou através da Action. Não é a toa que o DataSource fornecido pela struts foi para o pacote struts-legacy.jar

Observe que se vc fizer isso estará criando uma dependência da camada de controle, atravessando a sua camada de negócios, chegando à sua camada de acesso a dados.

O ideal é que vc faça algo do tipo:

ServletControler > ActionForm > Action > Bussines > DAO

No DAO vc obtem o DataSource via JNDI do container, ou usa um connection pool (pode ser até o DBCP da jakarta) .

No Tutorial de Struts que tem aqui no forum tem mais detalhes de como configurar o DataSource do TomCat em http://www.portaljava.com.br/home/modules.php?name=Content&pa=showpage&pid=63&page=5

Embora no tutorial não tenha todas estas divisões de camadas (o objetivo era não complicar muito), recomendo que tente dividir bem o software, de forma a isolar bem a camada de negócio no sentido de torná-la fácil de manter e consequentemente ficando mais portável para outras arquiteturas que não seja web :wink:

[]s, Welington B. Souza

…é q eu nunca usei o DS do Struts, só JBoss… :oops: