Я успешно протестировал некоторые DAO вне сервера weblogic, просматривая информацию об источниках данных через jndi.У меня есть поиск аналогичного варианта с веб-сферой, и мне еще предстоит найти решение, которое не предусматривает жесткого кодирования имени пользователя и пароля в каком-то месте приложения или в чем-то подобном.Прямо сейчас мои настройки jndi выглядят так внутри пружины:
<bean id="applicationServerEnviromentProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties"><props>
<prop key="java.naming.factory.initial">com.ibm.websphere.naming.WsnInitialContextFactory</prop>
<prop key="java.naming.provider.url">iiop://localhost:2809</prop>
</props>
</property>
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName"><value>PeopleAppDS</value></property>
<property name="jndiEnvironment"><ref local="applicationServerEnviromentProperties"/></property>
</bean>
Я протестировал соединение jndi, и оно работает, когда приложение загружается в websphere.Я хотел бы иметь возможность проверить даос в затмении, например, до загрузки приложения.Любая помощь будет высоко ценится.
Вот подробности для теста.
------- BaseTestCase.java --------------------
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"file:data-access-config.xml"})
public class BaseTestCase {
}
----- PersonDaoTest.java ----------------
import static org.junit.Assert.assertNotNull;
import java.util.List;<br>
import org.junit.Test;<br>
import org.springframework.beans.factory.annotation.Autowired;
import ....dao.PersonDao;<br>
import ....domain.Person;<br>
public class PersonDaoTest extends BaseTestCase {
@Autowired
private PersonDao personDao;
@Test
public void findByName() {
List<Person> people = personDao.listByName("j%", false, "userId");
assertNotNull(people);
}
}