0
나는 connect with a database connection pool에 노력하고있어 :콘솔 프로그램 용 JNDI 연결 풀링?
[email protected]:~$
[email protected]:~$ java -jar NetBeansProjects/Dialer/dist/Dialer.jar
hello world
Jun 23, 2014 1:04:39 AM net.bounceme.dur.Dialer <init>
INFO: {dur.reports.db.jndi.name=jdbc/vehicles, dur.db.jndi.name=jdbc/vehicles, dur.reports.db.type=MYSQL, reports.exportRawData=true, dur.db.type=MYSQL}
Jun 23, 2014 1:04:39 AM net.bounceme.dur.Dialer <init>
SEVERE: null
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:344)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at net.bounceme.dur.Connector.<init>(Connector.java:15)
at net.bounceme.dur.Dialer.<init>(Dialer.java:19)
at net.bounceme.dur.Dialer.main(Dialer.java:26)
[email protected]:~$
가 나는 콘솔 응용 프로그램 풀링 JNDI와 연결을 사용하는 것이 가능하다고 생각, 톰캣, 글래스 피시 또는 유사한없이?
package net.bounceme.dur;
import java.sql.SQLException;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class Connector {
public Connector(Properties props) throws NamingException, SQLException {
InitialContext ctx = new InitialContext();
//ctx.lookup(null); //????????
DataSource ds = (DataSource) ctx.lookup(props.getProperty("dur.db.jndi.name"));
}
}
아니면 어떤 종류의 서버 또는 컨테이너를 사용해야합니까?
그래서 ** 콘솔 앱용으로 다른 유형의 연결 풀링이 필요합니까? 컨테이너를 사용하고 싶지 않습니다. – Thufir
당신이 묻고 있다는 의미에서 나는 네가 올바르게 이해하는지에 따라 네가 그렇게 생각한다고 생각할 것이다. 연결 풀링 구현은 java에서 표준으로 구현되지 않습니다. 컨테이너를 제공하는 공급 업체가 구현합니다. 컨테이너를 사용할 수 없거나 사용하지 않는 경우 연결 풀링을 직접 수정해야합니다. – DanielBarbarian
http://commons.apache.org/proper/commons-dbcp/가 무엇입니까? 나는 그걸 수업 시간에 추가 할 수 있을까? – Thufir