Инъекция @Resource внезапно перестала работать - PullRequest
0 голосов
/ 28 августа 2018

Здравствуйте, в моем проекте для подключения к БД я использовал файл contex.xml (где у меня были все данные БД) и аннотацию @Resource (name = "xyz") и использовал его для создания источника данных в моем сервлете:

@WebServlet(name = "BookControllerServlet", urlPatterns = {"/BookControllerServlet"})
public class BookControllerServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

private BookDbUtil bookDbUtil;

@Resource(name = "sql2226123")
private DataSource dataSource;

// init method will be called by the app server when this servlet is loaded or initialized
@Override // we inherit it from GenericServlet
public void init() throws ServletException {
    super.init(); //To change body of generated methods, choose Tools | Templates.

    // create our book db util ... and pass in the connection pool / datasource
    try {
        bookDbUtil = new BookDbUtil(dataSource); // bookDbUtil is a data member that we've defined
    } // dataSource is resource injection item our connection pool and we're passing it right here
    catch (Exception exc) {
        throw new ServletException(exc);
    }
}

Однако со дня на день оно внезапно перестало работать. Я имею в виду @Resource (name = "sql2226123") не предоставляет никаких данных. dataSource == null, myConn == null; Что случилось? context.xml на 100% хорошо не изменился к этому времени. У меня недавно было обновление jdk, если я правильно помню. Может быть, это как-то связано с этим? Моя текущая версия Java: 1.8.0_81-b13. Есть идеи? Кто-нибудь что-нибудь слышал об этом?

Вот мой context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<Context path="jadbc/ParkingSystem">
    <Resource name="sql2226123" 
        auth="Container" type="javax.sql.DataSource"
        maxActive="20" maxIdle="5" maxWait="10000"
        username="sql2226123" password="xxxxxxxx" 
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://sql2.freemysqlhosting.net:3306/sql2226123"/>
</Context>

Мне также удается получить следующую ошибку: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...