Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / initialContext NullPointerException / 25 сообщений из 30, страница 1 из 2
03.11.2017, 10:16
    #39547202
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Здравствуйте!

ребята подскажите что делаю не так:

класс реализующий коннект:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Connection conn1 = null;

    public Connection getConn() {
        try {
            Context ctx = new InitialContext();
            DataSource ds = (DataSource) ctx.lookup("java:jboss/datasources/mysqlDS");
            try (Connection conn = ds.getConnection()) {
                conn1 = conn;
                System.out.println("CONN -->> "+conn);
            }
        } catch (NamingException | SQLException ex) {
            Logger.getLogger(Auth.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("NamingException | SQLException ex--> "+ex);
        }
        return conn1;
    }

    public String getVersionDB() {
        String dbVersion = null;
        try {
            dbVersion = getConn().getMetaData().getDatabaseProductVersion();
        } catch (SQLException ex) {
            Logger.getLogger(ClassBean.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("SQLException ex--> "+ex);
        }
        return dbVersion;
    }



интерфейс:
Код: java
1.
2.
3.
    public Connection getConn();

    public String getVersionDB();



и сервлет:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
private BeanInterface bi;

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");

        String login = null;
        String password = null;
        try {
            login = request.getParameter("login");
            password = request.getParameter("password");
        } catch (Exception e) {
            System.out.println("проблема в авторизации " + e);
        }

//try {
//            Context ctx = new InitialContext();
//            DataSource ds = (DataSource) ctx.lookup("java:jboss/datasources/mysqlDS");
//            try (Connection conn = ds.getConnection()) {
////                conn1 = conn;
//                System.out.println("CONN -->> "+conn);
//            }
//        } catch (NamingException | SQLException ex) {
//            Logger.getLogger(Auth.class.getName()).log(Level.SEVERE, null, ex);
//        }

        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<body>");
            out.println("<h1>Login: " + login + "</h1>");
            out.println("<h1>Password: " + password + "</h1>");
            try{
            out.println("<h1>dbVersion: " + bi.getVersionDB() + "</h1>");
            }catch(Exception e){
                System.out.println("EXCEPTION "+e);
            }
            out.println("</body>");
            out.println("</html>");
        }
    }



в общем вот тут bi.getVersionDB() я получаю NullPointerException .
...
Рейтинг: 0 / 0
03.11.2017, 10:32
    #39547212
am_sasa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффар,

так и должно быть
авторprivate BeanInterface bi;
может туда ченить присвоить?
...
Рейтинг: 0 / 0
03.11.2017, 10:35
    #39547216
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффар,

Не складывайте соединения в поля.
...
Рейтинг: 0 / 0
03.11.2017, 10:39
    #39547220
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Blazkowicz,

сорри но не совсем понял
...
Рейтинг: 0 / 0
03.11.2017, 10:58
    #39547235
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффар,

conn1 это что?
...
Рейтинг: 0 / 0
03.11.2017, 10:59
    #39547236
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффар,

Может пора научится stacktrace читать? Номера строк там, имена методов.
...
Рейтинг: 0 / 0
03.11.2017, 11:00
    #39547237
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
дело в том что если в классе оставлю только один метод типа
Код: java
1.
2.
3.
public String getStr(){
        return "qwerty";
    }



и соответственно в интерфейсе тоже
и вызову из сервлета
bi.getStr();

то все равно получаю тот же эксепшн
...
Рейтинг: 0 / 0
03.11.2017, 11:04
    #39547240
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффарто все равно получаю тот же эксепшн
Именно тот же? Не этот же и никакой другой?
...
Рейтинг: 0 / 0
03.11.2017, 11:10
    #39547245
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Blazkowicz,

да именно там же все делаю
...
Рейтинг: 0 / 0
03.11.2017, 11:13
    #39547246
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффарда именно там же все делаю
А он секретный очень? Exception и его stacktrance?
...
Рейтинг: 0 / 0
03.11.2017, 11:19
    #39547254
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Blazkowicz,

:)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
2017-11-03 12:37:32,954 INFO  [org.jboss.as.repository] (DeploymentScanner-threads - 1) WFLYDR0001: Content added at location C:\Users\Administrator\Desktop\wildfly11\standalone\data\content\d3\fdb8d7f9eaa69665ce5c816a703013104c5528\content
2017-11-03 12:37:32,969 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0028: Stopped deployment WebWagon.war (runtime-name: WebWagon.war) in 13ms
2017-11-03 12:37:32,969 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-6) WFLYSRV0027: Starting deployment of "WebWagon.war" (runtime-name: "WebWagon.war")
2017-11-03 12:37:33,437 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 9) WFLYUT0021: Registered web context: '/wagon' for server 'default-server'
2017-11-03 12:37:33,468 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 1) WFLYSRV0016: Replaced deployment "WebWagon.war" with deployment "WebWagon.war"
2017-11-03 12:37:33,468 INFO  [org.jboss.as.repository] (DeploymentScanner-threads - 1) WFLYDR0002: Content removed from location C:\Users\Administrator\Desktop\wildfly11\standalone\data\content\5d\240d1634e3409d18f6ede35b4ce4b38d19275f\content
2017-11-03 12:57:46,948 INFO  [org.jboss.as.repository] (DeploymentScanner-threads - 1) WFLYDR0001: Content added at location C:\Users\Administrator\Desktop\wildfly11\standalone\data\content\7e\eed51f618e214a2926c3171a7f92db23309e0f\content
2017-11-03 12:57:46,963 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 65) WFLYUT0022: Unregistered web context: '/wagon' from server 'default-server'
2017-11-03 12:57:46,995 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0028: Stopped deployment WebWagon.war (runtime-name: WebWagon.war) in 45ms
2017-11-03 12:57:47,010 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) WFLYSRV0027: Starting deployment of "WebWagon.war" (runtime-name: "WebWagon.war")
2017-11-03 12:57:47,307 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 66) WFLYUT0021: Registered web context: '/wagon' for server 'default-server'
2017-11-03 12:57:47,338 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 1) WFLYSRV0016: Replaced deployment "WebWagon.war" with deployment "WebWagon.war"
2017-11-03 12:57:47,338 INFO  [org.jboss.as.repository] (DeploymentScanner-threads - 1) WFLYDR0002: Content removed from location C:\Users\Administrator\Desktop\wildfly11\standalone\data\content\d3\fdb8d7f9eaa69665ce5c816a703013104c5528\content
2017-11-03 12:57:51,784 INFO  [stdout] (default task-4) EXCEPTION java.lang.NullPointerException
...
Рейтинг: 0 / 0
03.11.2017, 11:32
    #39547265
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
нееее, что то я вообще не въехал, создал новый тестовый пример

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
package bean;


public class C1 implements I{

    @Override
    public String getStr() {
        return "qwe!!!!!";
    }    
}



Код: java
1.
2.
3.
4.
5.
6.
package bean;

public interface I {

    public String getStr();
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public class S1 extends HttpServlet {

    private I i;

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet S1</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet S1 at " + request.getContextPath() + "</h1>");
            out.println("<h1>i.getStr() --->  " + i.getStr() + "</h1>");
            out.println("</body>");
            out.println("</html>");
        }
    }
.....




и получаю вот это
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
2017-11-03 13:26:50,844 ERROR [io.undertow.request] (default task-7) UT005023: Exception handling request to /t1/: java.lang.NullPointerException
	at servlet.S1.processRequest(S1.java:45)
	at servlet.S1.doGet(S1.java:63)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:326)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

...
Рейтинг: 0 / 0
03.11.2017, 11:53
    #39547281
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффар,
Не торопись на форуме спрашивать. Делай тест в одну строку.
))
...
Рейтинг: 0 / 0
03.11.2017, 11:57
    #39547284
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффар,

У вас нет ничего в поле. Назависимо от того что вы напишите в классе или интерферйсе I, значение в переменной S1.i само по себе не появится.
Вот ваш код:
Код: java
1.
2.
3.
4.
5.
6.
class Test{
  String s;
  public static void main(String[] args) {
     System.out.print(s.length());
  }
}
...
Рейтинг: 0 / 0
03.11.2017, 12:49
    #39547341
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
вроде понял должен был быть
Код: java
1.
private I i = new C1();



а тогда что происходит в EJB там же вроде как можно обойтись только аннотацией @EJB
...
Рейтинг: 0 / 0
03.11.2017, 12:55
    #39547347
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффара тогда что происходит в EJB там же вроде как можно обойтись только аннотацией @EJB
Там происходит то что контейнер используя рефлексию находит такие поля с аннотацией и присваивает им ссылки на другие бины. Либо падает с ошибкой, если не может обнаружить подходящий. Вы бы с концентрировались на core Java, а то вас, похоже, более продвинутые технологии только путают.
...
Рейтинг: 0 / 0
03.11.2017, 13:09
    #39547365
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Blazkowicz,

Спасибо!
...
Рейтинг: 0 / 0
03.11.2017, 14:09
    #39547423
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Blazkowicz,

позвольте задавать ещё один вопрос
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 public String getVersionDB() {
        String dbVersion = "";
        System.out.println("++++>>> "+getConn());
        
        try {
            dbVersion = getConn().getMetaData().getDatabaseProductVersion();
        } catch (SQLException ex) {
            Logger.getLogger(ClassBean.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("SQLException ex-|-> " + ex);
        }
        return dbVersion;
    }



честно получаю коннекшн, т.е. System.out.println("++++>>> "+getConn()); получаю
но вот getConn().getMetaData().getDatabaseProductVersion(); выбрасывает эксепшен

Код: plaintext
1.
2.
3.
4.
2017-11-03 16:03:16,194 INFO  [stdout] (default task-28) ++++>>> org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@51b306a9
...
...
...
2017-11-03 16:03:16,194 INFO  [stdout] (default task-28) SQLException ex-|-> java.sql.SQLException: IJ031040: Connection is not associated with a managed connection: org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@22f50d
...
Рейтинг: 0 / 0
03.11.2017, 14:18
    #39547438
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Соединение, которое у вас есть это обертка, полученая из пула (DataSource) внутри неё находится соединения JDBC драйвера. И вот с ним что-то стряслось. То ли закрылось, то ли сервер отключил. Возможно это связано с тем что вы пытаетесть хранить ссылку на Connection, когда вместо этого нужно получать её из DataSource на каждую отдельню транзакцию.
...
Рейтинг: 0 / 0
03.11.2017, 14:31
    #39547447
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Blazkowicz,

точняк! походу именно коннекшн закрывался и по этому такой эксепшн и получал

Спасибо ещё раз!
...
Рейтинг: 0 / 0
03.11.2017, 14:40
    #39547457
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффар,
Убери метод getConn. Там 2 строки.
В сервлете, получил, обработал, закрыл. Всё.
Нету тут ООП.
...
Рейтинг: 0 / 0
03.11.2017, 14:59
    #39547481
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Petro123,

угу, так и сделал ещё точнее вот так:
не знаю правильно ли это или нет

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Context ctx;
    DataSource ds = null;

    @Override
    public DataSource getDS() {
        try {
            ctx = new InitialContext();
            ds = (DataSource) ctx.lookup("java:jboss/datasources/mysqlWAGON");

        } catch (NamingException ex) {
            Logger.getLogger(ClassBean.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("NamingException | SQLException ex--> " + ex);
        }
        return ds;
    }

    @Override
    public List<User> getAllUsers() {
        User u = new User();
        List<User> l = new ArrayList<>();

        String query = "select * from users";
        try (Connection conn = getDS().getConnection(); PreparedStatement pstmt = conn.prepareStatement(query);
                ResultSet rs = pstmt.executeQuery()) {
            while (rs.next()) {
                u = new User(rs.getInt("id"), rs.getString("fam"),
                        rs.getString("name"), rs.getString("login"),
                        rs.getString("pass"), rs.getString("email"),
                        rs.getInt("id_dolj"),
                        rs.getInt("id_sljb"));
                l.add(u);
            }
        } catch (SQLException ex) {
            Logger.getLogger(ClassBean.class.getName()).log(Level.SEVERE, null, ex);
        }
        return l;
    }



З.Ы. не ругайтесь на нэйминг базу не я создавал.
...
Рейтинг: 0 / 0
03.11.2017, 15:10
    #39547496
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффар,
Вполне.
Окромя:
- select звезду убрать.
- в блоке exception опять возбудить исключение во врайтер наверх после записи в лог.
...
Рейтинг: 0 / 0
03.11.2017, 15:13
    #39547498
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Музаффар
Код: java
1.
2.
3.
Logger.getLogger(ClassBean.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("NamingException | SQLException ex--> " + ex);
        


Вот тут throw new .....
...
Рейтинг: 0 / 0
04.11.2017, 18:13
    #39547800
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
initialContext NullPointerException
Petro123,

спасибо!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / initialContext NullPointerException / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]