Errai + DataSource
dan.dan Oct 25, 2010 3:42 AMHi,
I have a question about how to use database connection in Errai. Here is my source code as follows. When my client send message to this service, nothing happens. Is there anyone know how to deal with it or another way to use database connection?
Thanks.
import org.jboss.errai.bus.client.api.Message;
import org.jboss.errai.bus.client.api.MessageCallback;
import org.jboss.errai.bus.client.api.base.MessageBuilder;
import org.jboss.errai.bus.client.framework.MessageBus;
import org.jboss.errai.bus.server.annotations.Service;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.annotation.Resource;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.naming.InitialContext;
import javax.sql.DataSource;
@ApplicationScoped
@Service
public class HelloWorldService implements MessageCallback {
@Inject
MessageBus bus;
public void callback(Message message) {
String timemillis = Long.toString(System.currentTimeMillis());
System.out.println("Received " + message.get(String.class, "payload"));
getData();
/* Conversation */
MessageBuilder.createConversation(message).subjectProvided()
.signalling().with(
"response", "Processed at " + timemillis + ", Danny said:"
+ message.get(String.class, "payload")).done()
.sendNowWith(bus);
}
public void getData(){
Connection conn = null;
try {
InitialContext ctx = new InitialContext();
DataSource datasource = (DataSource)ctx.lookup("jdbc/dsMyDB");
conn = datasource.getConnection();
System.out.println("Get Connection!");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}