Я разработал класс фабрики соединений, как показано ниже, в моем проекте отдыха, но меня перепутали с использованием статического ключевого слова после просмотра нескольких сообщений в Интернете и в stackoverflow. Пожалуйста, помогите мне прояснить мои сомнения по поводу этого дизайна, плохого или хорошего.
public class ConnectionFactory{
public Connection lookupConnection(){
//lookup datasource from application server
return connection;
}
}
И в моем классе ресурсов REST выполнить некоторую операцию над объектом соединения, полученным с помощью объекта ConnectionFactory
@Path("/mypath")
public class RestSample{
public Response updateDetails(MyObj obj)
{
Connection conn=new ConnectionFactory().lookupConnection();
return conn.doSomeOperation();
}
}
Я знаю, что это будет отлично работать в многопоточной среде, но я без необходимости создаю объект ConnectionFactory для каждого запроса? Должен ли я вместо этого сделать метод lookupConnection статическим и ссылаться на него, используя имя класса ConnectionFactory, поскольку метод не ссылается ни на одну глобальную переменную? Не вызовет ли это проблемы параллелизма, когда многие пользователи вызывают службу?