getTopLinkTemplate имеет значение null с Spring

Я пытаюсь использовать TopLink с Spring, но у меня возникла проблема. Я использую его в веб-сервисе (CXF). Когда я использую getTopLinkTemplate(), результат равен нулю. Вот мой applicationContext.xml:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    destroy-method="close">
    <property name="driverClassName" value="oracle.jdbc.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@*************" />
    <property name="username" value="*****" />
    <property name="password" value="*****" />
</bean>

<bean id="mySessionFactory"
    class="org.springframework.orm.toplink.LocalSessionFactoryBean">
    <property name="configLocation" value="toplink-sessions.xml" />
    <property name="dataSource" ref="dataSource" />
</bean>

<bean id="myProductDao" class="ToplinkExecPS.ExecPS">
    <property name="sessionFactory">
        <ref local="mySessionFactory" />
    </property>
</bean>

Мой код:

public class ExecPS extends TopLinkDaoSupport{

public Vector Exec(String test) 
{
    TopLinkTemplate t;
    t = getTopLinkTemplate();
    if (t == null)
        System.out.println("template is null");
}

}

Итак, когда я выполняю этот код, у меня в консоли "template is null" и исключение nullPointerException, когда я пытаюсь использовать переменную "t".

К сведению, подключение к базе данных с помощью TopLink прошло успешно.

[TopLink - Infos] : 2012.05.23 03:45:22.113 --ServerSession(4812898) --Thread(Thread[main,5,main]) --Session - повторное подключение

Я тестирую так много вещей, и я все еще застрял. Надеюсь, вы мне поможете.

[РЕДАКТИРОВАТЬ]

Хорошо, я действительно нуб. Я просто забыл получить свой компонент перед вызовом метода... Если кто-нибудь попадет в этот поток, есть код:

ClassPathXmlApplicationContext context = 
            new ClassPathXmlApplicationContext(new String[]{"ToplinkContext.xml"} );
    ExecPS exec = (ExecPS)context.getBean("myProductDao");

person Simwar    schedule 23.05.2012    source источник


Ответы (1)


Не на 100% в этом, но я бы с подозрением отнесся к этой строке:

<property name="configLocation" value="toplink-sessions.xml" />

Не уверены, что файл toplink-sessions.xml находится в вашем пути к классам, и попробуйте следующее:

    <property name="configLocation" value="classpath:toplink-sessions.xml" />
person Michael W    schedule 23.05.2012
comment
У меня уже были некоторые проблемы с этим файлом, но Spring указал мне, что это неправильно (этот файл не находится в вашем пути к классам, blabla). - person Simwar; 24.05.2012