是否有人成功使用OpenJPA与Glassfish?
我正在尝试将OpenJPA 2.1与Glassfish 3.1 Open Source一起使用.我按照说明将这两个集成在这里 - > http://weblogs.java.net/blog/ss141213/archive/2006/07/using_openjpa_a.html
我在Eclipse Indigo中有一个非常简单的EJB项目,具有以下内容:
但是,当我尝试部署时,我的Person @Entity上会出现ClassNotFoundException.投诉似乎是在我的PersonDao中实现的创建方法的Person parm(参见下面的所有代码).
我已经尝试了相同的项目而没有在persistence.xml中指定提供程序,并且该项目工作正常(能够将Person @Entity持久保存到MySql中的PERSON表).如果我没有指定提供者,我想我正在使用EclipseLink(如果我错了,请纠正我).这让我相信我没有正确配置OpenJPA和Glassfish.
Caused by: java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: com.rares.test.Person
at serp.util.Strings.toClass(Strings.java:164)
at serp.util.Strings.toClass(Strings.java:108)
at serp.bytecode.BCClass.getType(BCClass.java:566)
at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:144)
at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124)
at org.apache.openjpa.persistence.PersistenceProviderImpl$ClassTransformerImpl.transform(PersistenceProviderImpl.java:294)
at org.glassfish.persistence.jpa.ServerProviderContainerContractInfo$1.transform(ServerProviderContainerContractInfo.java:98)
at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:742)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.privateGetPublicMethods(Class.java:2547)
at java.lang.Class.getMethods(Class.java:1410)
at com.sun.enterprise.deployment.EjbDescriptor.addAllInterfaceMethodsIn(EjbDescriptor.java:2327)
at com.sun.enterprise.deployment.EjbDescriptor.getLocalRemoteBusinessMethodDescriptors(EjbDescriptor.java:2290)
... 40 more
Run Code Online (Sandbox Code Playgroud)
@Entity
@Table (name="PERSON")
public class Person implements Serializable …Run Code Online (Sandbox Code Playgroud) 我通过扩展 SpringBeanAutowiringSupport 公开的 Web 服务无法注入 @Autowired 依赖项。
Web 服务部署正常,我能够调用 @WebMethod,但由于注入失败,我收到 NullPointerException。
我放入System.out.println("Consructing XmlContactMapper...");了 XmlContactMapper 的构造函数(我对 @Autowired 的依赖项之一)。当我部署 Web 服务时,我看到调试行,因此我知道正在调用构造函数。但由于某种原因,XmlContactMapper 的实例没有被注入到我的 ContactServiceImpl xmlMapper 属性中。
关于我做错了什么有什么想法吗?
使用...
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0" metadata-complete="true">
<display-name>contact-sib</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:/config/bean-config.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>JaxWsEndpoint</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JaxWsEndpoint</servlet-name>
<url-pattern>/services/contact</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint name="ContactService"
implementation="com.bb.sc.sib.contact.ContactServiceImpl"
url-pattern="/services/contact"/>
</endpoints> …Run Code Online (Sandbox Code Playgroud) 我无法使用MySQL 5.5.11后端部署我的Web应用程序到JBoss 5.我收到此错误:
引起:java.lang.ClassNotFoundException:来自BaseClassLoader @ 262b2310的com.mysql.jdbc.Driver
我在下面粘贴了我的堆栈跟踪.
这就是我所做的......
我将mysql-connector-java-5.1.14-bin.jar添加到{JBOSS_HOME}/lib(该连接器应该与MySQL 5.5.11配合使用吗?).我还将mysql-ds.xml添加到{JBOSS_HOME}/server/default/deploy.
<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/my_libl_db</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>test</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
</local-tx-datasource>
</datasources>
Run Code Online (Sandbox Code Playgroud)
另外,我确保我的lib文件夹中的mysql-connector-java-5.1.14-bin.jar在我的web应用程序类路径中.在JBoss管理控制台的Resources/Datasources下,我确实看到状态为up的MySqlDS.
我的项目(在Eclipse Indego Release中)是一个带有1个动态Web项目的企业应用程序项目.Web应用程序有一个@Entity bean和一个@Stateless bean.@Stateless被注入一个servlet(使用@EJB).这是我的persistence.xml:
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
<persistence-unit name="ContactBookPersistUnit" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/MySqlDS</jta-data-source>
<class>com.contact.model.Contact</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
</properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
我能做错什么?
Caused by: javax.resource.ResourceException: Unable to get managed connection for MySqlDS
at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:441)
at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:381)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)
... 65 more
Caused by: org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建自己的maven原型.现在,我正在阅读本教程[这里] [1]但没有成功.我能够构建原型项目,但是当我尝试从该原型生成项目时,我得到下面的错误. Maven似乎无法找到我创建的原型.任何人都可以发现我的问题吗?是否有一些其他推荐的教程用于创建maven原型?谢谢.
Maven版本3.0.3
构建错误:
AR3Y35-LAPTOP:EclipseWS Albert$ mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeGroupId=com.myarch.archetypes -DarchetypeArtifactId=component-archetype -DinteractiveMode=false
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.0:generate (default-cli) @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.0:generate (default-cli) @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:2.0:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
[WARNING] Specified archetype not found.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.389s
[INFO] Finished …Run Code Online (Sandbox Code Playgroud)