Tom을 위한 데이터 소스 설정 방법EE+
저는 NetBeans(v8.1)와 TomEE+(v1.7.4)를 EJB로 데이터에 액세스하도록 설정하는 방법을 알아보려고 노력해 왔습니다.
저는 NetBeans 전자상거래 튜토리얼(AffableBean 앱)을 따라다니며 EJB로 데이터에 액세스하는 것에 집착하고 있습니다.자습서에 명시된 대로 모든 편집을 수행했으며 실행 중 오류가 발생했습니다.
어패블 빈 로그:
build-impl.xml:1045: The module has not been deployed.
See the server log for details.
아파치 톰EE+ 1.7.4 로그:
Jun 15, 2016 8:26:14 AM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet ControllerServlet as unavailable
Jun 15, 2016 8:26:14 AM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet [ControllerServlet] in web application [/AffableBean] threw load() exception
javax.naming.NameNotFoundException: Name [controller.ControllerServlet/categoryFacade] is not bound in this Context. Unable to find [controller.ControllerServlet].
아파치 톰EE+ 1.7.4:
INFO: Configuring PersistenceUnit(name=AffableBeanPU)
Jun 15, 2016 8:26:11 AM org.apache.openejb.config.AutoConfig deploy
WARNING: Found matching datasource: web/connpool but this one is not a JTA datasource
Jun 15, 2016 8:26:11 AM org.apache.openejb.config.AutoConfig deploy
WARNING: Found matching datasource: web/connpool but this one is not a JTA datasource
Jun 15, 2016 8:26:11 AM org.apache.tomee.catalina.TomcatWebAppBuilder startInternal
SEVERE: Unable to deploy collapsed ear in war StandardEngine[Catalina].StandardHost[localhost].StandardContext[/AffableBean]
org.apache.openejb.OpenEJBException: PeristenceUnit AffableBeanPU <jta-data-source> points to a non jta managed Resource. Update Resource "connpool" to "JtaManaged=true", use a different Resource, or delete the <jta-data-source> element and a default will be supplied if possible.
persistence.xml에 대한 내 코드는 튜토리얼에 따라 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="AffableBeanPU" transaction-type="JTA">
<jta-data-source>connpool</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties/>
<property name="eclipselink.logging.level" value="FINEST"/>
</persistence-unit>
</persistence>
그래서 제 질문은 어떻게 하면 IDE에서 DataSource/EJB를 설정하여 서버에서 실행할 수 있을까요?나는 Netbeans 전자 상거래 튜토리얼과 상관없이.
편집됨: EJB로 데이터에 액세스할 때 고착됨.
다음과 같이 $TOME/conf/tomee.xml 파일에 정의된 글로벌 데이터 소스(모든 웹 앱에 대해) 또는 $WEBAPP/WEB-INF/resources.xml 파일에 있는 웹 앱과 관련된 데이터 소스로 정의할 수 있습니다.
webapp의 src/META-INF dir에서 persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence
version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="xyz">
<jta-data-source>xyz</jta-data-source>
<properties>
<property
name="openjpa.jdbc.DBDictionary"
value="org.apache.openjpa.jdbc.sql.OracleDictionary" />
<property
name="openjpa.jdbc.DBDictionary"
value="oracle(maxEmbeddedBlobSize=-1,maxEmbeddedClobSize=-1)" />
<property
name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(ForeignKeys=true)" />
</properties>
</persistence-unit>
</persistence>
$WEBAPP/WEB-INF/resource.xml에 정의된 데이터 소스
<?xml version="1.0" encoding="UTF-8"?>
<tomee>
<Resource
id="xyz"
type="DataSource">
JdbcDriver oracle.jdbc.OracleDriver
JdbcUrl jdbc:oracle:thin:@localhost:1521:XE
UserName myuser
Password mypass
JtaManaged true
TestOnBorrow false
MaxActive 20
</Resource>
</tomee>
http://tomee.apache.org/datasource-config.html 및 http://tomee.apache.org/common-datasource-configurations.html 을 참조하십시오.
언급URL : https://stackoverflow.com/questions/37836303/how-to-set-up-a-datasource-for-tomee
'code' 카테고리의 다른 글
MariaDB 연결이 임의로 실패하지만 계속 유지됨 (0) | 2023.08.11 |
---|---|
Oracle - 여러 개의 카운트를 하나의 쿼리로 반환 (0) | 2023.08.11 |
페이지 로드가 완료되기 전에 사용자가 페이지를 떠난 경우 jQuery agaxError() 핸들러가 실행됨 (0) | 2023.08.11 |
도커의 호스트 디렉토리에 액세스할 때 사용 권한이 거부되었습니다. (0) | 2023.08.11 |
속성과 속성의 차이점은 무엇입니까? (0) | 2023.08.11 |