137 public void contextInitialized(ServletContextEvent sce) { |
137 public void contextInitialized(ServletContextEvent sce) { |
138 ServletContext sc = sce.getServletContext(); |
138 ServletContext sc = sce.getServletContext(); |
139 |
139 |
140 dataSource = null; |
140 dataSource = null; |
141 |
141 |
142 final String contextName = Optional |
|
143 .ofNullable(sc.getInitParameter(Constants.CTX_ATTR_JNDI_CONTEXT)) |
|
144 .orElse("java:comp/env"); |
|
145 final String dbSchema = Optional |
142 final String dbSchema = Optional |
146 .ofNullable(sc.getInitParameter(Constants.CTX_ATTR_DB_SCHEMA)) |
143 .ofNullable(sc.getInitParameter(Constants.CTX_ATTR_DB_SCHEMA)) |
147 .orElse(DB_DEFAULT_SCHEMA); |
144 .orElse(DB_DEFAULT_SCHEMA); |
148 final String dbDialect = sc.getInitParameter(Constants.CTX_ATTR_DB_DIALECT); |
145 final String dbDialect = sc.getInitParameter(Constants.CTX_ATTR_DB_DIALECT); |
149 if (dbDialect != null) { |
146 if (dbDialect != null) { |
153 LOG.error("Unknown or unsupported database dialect {}. Defaulting to {}.", dbDialect, dialect); |
150 LOG.error("Unknown or unsupported database dialect {}. Defaulting to {}.", dbDialect, dialect); |
154 } |
151 } |
155 } |
152 } |
156 |
153 |
157 try { |
154 try { |
158 LOG.debug("Trying to access JNDI context {}...", contextName); |
155 LOG.debug("Trying to access JNDI context ..."); |
159 Context initialCtx = new InitialContext(); |
156 Context initialCtx = new InitialContext(); |
160 Context ctx = (Context) initialCtx.lookup(contextName); |
157 Context ctx = (Context) initialCtx.lookup("java:comp/env"); |
161 |
158 |
162 dataSource = retrieveDataSource(ctx); |
159 dataSource = retrieveDataSource(ctx); |
163 |
160 |
164 if (dataSource != null) { |
161 if (dataSource != null) { |
165 checkConnection(dataSource, dbSchema); |
162 checkConnection(dataSource, dbSchema); |