Eu tenho um servlet que gostaria de executar no ColdFusion MX 7. Eu gostaria de fazer uso de um DSN ColdFusion existente como um javax.sql.DataSource, se possível.
Eu pensei em algo parecido
coldfusion.server.ServiceFactory.getDataSourceService().getDatasource(dsname);
funcionaria, mas infelizmente o servlet retorna
java.lang.NoClassDefFoundError: coldfusion/server/ServiceFactory
Respostas:
1 para resposta № 1Esse código funcionará bem, você simplesmente não possui o ServiceFactory no seu caminho de classe. Ou seja, o Java não pode carregar essa classe. Tente incluir uma dependência em cfusion.jar de C: CFusionMX7lib.
0 para resposta № 2
Parece que a maneira mais simples de fazer isso é adicionar uma fonte de dados JNDI adicional em jrun-resources.xml. Isso pode ser acessado da maneira convencional:
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup("mydatasource");
Isso significa duplicar a configuração da conexão com o banco de dados, mas eu preferiria fazer isso do que trabalhar com as classes coldfusion.server. * Em grande parte não documentadas.