Доступ к источнику данных ColdFusion из кода Java - PullRequest
1 голос
/ 06 ноября 2008

У меня есть сервлет, который я хотел бы запустить в ColdFusion MX 7. Я хотел бы использовать существующий ColdFusion DSN в качестве javax.sql.DataSource, если это возможно.

Я думал что-то вроде

coldfusion.server.ServiceFactory.getDataSourceService().getDatasource(dsname);

будет работать, но, к сожалению, сервлет вернет

java.lang.NoClassDefFoundError: coldfusion/server/ServiceFactory

Ответы [ 2 ]

1 голос
/ 06 ноября 2008

Этот код будет работать нормально, у вас просто нет ServiceFactory в вашем пути к классам. Т.е. Java не может загрузить этот класс. Попробуйте включить зависимость от cfusion.jar из C: \ CFusionMX7 \ lib.

0 голосов
/ 07 ноября 2008

Кажется, самый простой способ сделать это - добавить дополнительный источник данных JNDI в jrun-resources.xml. К этому можно получить доступ обычным способом:

Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup("mydatasource"); 

Это означает дублирование конфигурации подключения к базе данных, но я бы предпочел сделать это, чем работать с недокументированными классами coldfusion.server. *.

...