Ola pessoal eu criei um arquivo .har para publicar o serviço do hibernate no jboss. Bom até ai tudo bem, no console do jboss mostra como o serviço do hibernate foi publicado. Só que eu criei um programa para visullizar a lista do JNDI porem o serviço que eu publiquei não aparece.
hibernate-service.xml
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.hibernate.jmx.Hibernate"
name="jboss.jca:service=HibernateSessionFactory,name=HibernateSessionFactory">
<depends>jboss.jca:service=RARDeployer</depends>
<depends>jboss.jca:service=LocalTxCM,name=postgres-ds</depends>
<attribute name="DatasourceName">java:/postgres-ds</attribute>
<attribute name="Dialect">org.hibernate.dialect.PostgreSQLDialect</attribute>
<attribute name="SessionFactoryName">java:/hibernate/HibernateSessionFactory</attribute>
<attribute name="CacheProviderClass">org.hibernate.cache.HashtableCacheProvider</attribute>
</mbean>
</server>
classe que acessa o datasource
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.jnp.interfaces.NamingContext;
public class AcessandoDataSource {
private static final String JNDI_PROPERTIES="conf/jndi.properties";
static AcessandoDataSource ads = new AcessandoDataSource();
InitialContext context;
public AcessandoDataSource() {
super();
try {
Properties properties = new Properties();
properties.load( new FileInputStream(JNDI_PROPERTIES) );
context = new InitialContext(properties);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
catch (NamingException e) {
e.printStackTrace();
}
}
public DataSource getDataSorce(String jndiName)
{
DataSource ds = null;
try {
ds = (DataSource) context.lookup(jndiName);
}
catch (NamingException e) {
System.err.println(e);
}
catch (ClassCastException e) {
e.printStackTrace();
}
return ds;
}
public static void main(String[] args) throws SQLException {
// listaContext("com/nexxera/sig/crm/entidade/facade");
listaContext("java:/");
/*DataSource ds = ads.getDataSorce("java:/postgres-ds");
Connection connection = ds.getConnection();
if ( connection == null ) {
System.out.println("não pegou conexxão");
}
//AcessandoDataSource acessandoDataSource = new AcessandoDataSource();
//
//connection.setAutoCommit(false);
PreparedStatement pstmt = connection.prepareStatement("select * from usuario");
ResultSet rs = pstmt.executeQuery();
System.out.println("Mostrando o que retornou:");
while (rs.next()) {
System.out.println(rs.getString(4));
System.out.println(rs.getString(5));
}
rs.close();
pstmt.close();
connection.close();
System.out.println("ok: "+ds);
try {
System.out.println(ads.context.lookup("ejb/RelacionamentoFacade"));
}
catch (NamingException e) {
System.err.println(e);
}
// ds.
*/
}
private static void listaContext(String string) {
int count = 0;
try {
NamingEnumeration<NameClassPair> list = ads.context.list(string);
while(list.hasMore()) {
NameClassPair item = list.next();
System.out.println(item);
count++;
}
System.out.println("Length: " + count);
}
catch (NamingException e) {
System.err.println("Errinhu :-(");
}
}
public void consulta(Connection con)
{
try
{
con.setAutoCommit(false);
PreparedStatement pstmt = con.prepareStatement("select * from usuario");
ResultSet rs = pstmt.executeQuery();
System.out.println("Mostrando o que retornou:");
while (rs.next()) {
System.out.println(rs.getString(3));
System.out.println(rs.getString(4));
}
rs.close();
pstmt.close();
con.close();
}catch (Exception e) {
e.printStackTrace();
}
}
}