- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了两个 rcp-bundle。第一个包实现 JPA - 服务,第二个 - 客户端。使用以下技术:
OSGi、JPA Eclipselink、RCP Eclipse、RAP Eclipse、Eclipse Equinox
public class JpaUtil {
private static EntityManagerFactory emf;
private static Map<String, Object> properties = new HashMap<String, Object>();
public EntityManagerFactory getEntityManagerFactory() {
try {
properties.put(PersistenceUnitProperties.JDBC_DRIVER, "org.postgresql.Driver");
properties.put(PersistenceUnitProperties.JDBC_URL, "jdbc:postgresql://localhost:5432/db");
properties.put(PersistenceUnitProperties.JDBC_USER, "db");
properties.put(PersistenceUnitProperties.JDBC_PASSWORD, "db");
properties.put(PersistenceUnitProperties.CLASSLOADER, this.getClass().getClassLoader());
emf = new PersistenceProvider().createEntityManagerFactory("service", properties);
} catch (Throwable e) {
System.err.println("Error create initializer SessionFactory " + e);
e.printStackTrace();
throw new ExceptionInInitializerError(e);
}
return emf;
}
}
DAO 实现:
public class HotelJPAImpl implements HotelJPA {
@Override
public boolean checkStatusRoom(Integer numbRoom) {
EntityManager em = new JpaUtil().getEntityManagerFactory().createEntityManager();
boolean status;
try{
Long l = Long.valueOf(numbRoom.longValue());
Hotel hotel = (Hotel) em.find(Hotel.class, numbRoom);
status = hotel.getIsStatus();
}finally{
em.close();
}
return status;
}
}
服务激活器:
public class ServiceActivator implements BundleActivator {
ServiceRegistration<HotelJPA> ServiceRegistration;
@Override
public void start(BundleContext context) throws Exception {
HotelJPA hotelJPA = new HotelJPAImpl();
ServiceRegistration = (ServiceRegistration<HotelJPA>) context
.registerService(HotelJPA.class.getName(), hotelJPA,
null);
}
@Override
public void stop(BundleContext context) throws Exception {
ServiceRegistration.unregister();
}
}
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="service">
<class>service.table.Hotel</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/db" />
<property name="javax.persistence.jdbc.user" value="db" />
<property name="javax.persistence.jdbc.password" value="db" />
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
</properties>
</persistence-unit>
</persistence>
激活剂:
public class Activator implements BundleActivator {
ServiceReference<HotelJPA> serviceReference;
@Override
public void start(BundleContext context) throws Exception {
serviceReference = (ServiceReference<HotelJPA>)context.getServiceReference(HotelJPA.class.getName());
HotelJPA hotelJPA = (HotelJPA) context.getService(serviceReference);
System.out.println(hotelJPA.checkStatusRoom(1));
}
@Override
public void stop(BundleContext context) throws Exception {
context.ungetService(serviceReference);
}
}
!SESSION 2013-10-05 19:21:27.348 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments: -dev file:C:/My_documents/Java/eclipse/workspace/.metadata/.plugins/org.eclipse.pde.core/RAP/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog -console -data C:\My_documents\Java\eclipse\workspace/.metadata/.plugins/org.eclipse.rap.tools.launch/RAP
!ENTRY com.client 4 0 2013-10-05 19:21:27.898
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Exception in hotel.client.Activator.start() of bundle com.client.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/persistence/jpa/PersistenceProvider
at hotel.service.daoimpl.HotelJPAImpl.checkStatusRoom(HotelJPAImpl.java:70)
at hotel.client.Activator.start(Activator.java:21)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
... 12 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.persistence.jpa.PersistenceProvider cannot be found by com.service_1.0.0.qualifier
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 17 more
Root exception:
java.lang.NoClassDefFoundError: org/eclipse/persistence/jpa/PersistenceProvider
at hotel.service.daoimpl.HotelJPAImpl.checkStatusRoom(HotelJPAImpl.java:70)
at hotel.client.Activator.start(Activator.java:21)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
原因:java.lang.ClassNotFoundException:com.service_1.0.0.qualifier找不到org.eclipse.persistence.jpa.PersistenceProvider
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 17 more
!ENTRY org.eclipse.osgi 4 0 2013-10-05 19:21:27.901
!MESSAGE Bundle com.client_1.0.0.qualifier [52] is not active.
最佳答案
异常表明 bundle “服务”的类加载器看不到 EclipseLink 的 PersistenceProvider 类。
可能包 org.eclipse.persistence.jpa 没有导入到服务包 (Import-Package) 中。
关于java - OSGi、JPA Eclipselink、Postgresql : Caused by: java. lang.ClassNotFoundException : org. 无法找到 eclipse.persistence.jpa.PersistenceProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19200737/
我正在尝试使用一个使用 JNI 的库。 我已经尝试了开发人员提供的示例应用程序,它可以工作。所以我知道这不是库中的错误。 我认为我在导入库的过程中做错了什么: 将 .so 文件复制到我的 libs 文
使用Websphere 应用程序服务器 + Wicket 1.6我的挂载 URL 遇到一些问题。 当我调用类似于以下内容的网址时:localhost:9080/danesCooking/pies/me
我有一个应用程序在 Win2k3 VM 上的 Apache Tomcat 5.5 上运行。该应用程序提供 XML,供某些电话设备使用,作为我们 IVR 基础设施的一部分。反过来,应用程序从一些 SOA
升级到雅加达给我带来了一些问题。。我正在使用以下maven插件:。并且我使用episodal编译(有库)。突然间,我面临着以下问题:。更仔细的检查发现,XJC突然生成了以下字段:。这是它以前没有产生的
Jenkins 有一个可用于自由式构建作业的 $CAUSE 变量。 如何在工作流程中访问此内容或类似内容? 我的团队在现有临时构建的电子邮件输出中使用它。我们希望在新的基于工作流的工作中继续这样做。
错误:无法完成 Gradle 执行。 原因: Could not create parent directory for lock file C:\Program Files\Android\Andr
如何确定多个浏览器 UI 事件是否由相同的基本 UI 交互引起? 例如,用户单击和事件监听器会触发“blur”和“mousedown”事件。有没有办法确定这两个事件都是由一次用户点击引起的? 最佳答案
它可以编译,但不会从 .o 文件链接到可执行文件。我已经删除了从现在到运行良好时所做的所有更改(基本上,str_to_int 中的所有内容)。 我的代码: #include #include in
关于 Java 的 InterruptedException 有一些有趣的问题和答案。 ,例如 The Cause of InterruptedException和 Handling Interrup
我使用 android 工具 “内存监视器” 来修复内存泄漏。这很有帮助。 但是,我需要澄清一下。 有时在运行该应用程序后,分配的内存为“47MB”。当与应用交互时,它会上下移动。 然后当我点击“ca
我正在调查由于堆损坏而导致的崩溃。由于这个问题很重要并且涉及分析堆栈和转储结果,因此我决定对与崩溃相关的文件进行代码审查。 坦率地说,我对堆何时可能损坏没有深入的了解。 如果您能提出可能导致堆损坏的方
假设我们有一个名为 feature-branch 的功能分支。该分支的开发人员分支获取他们的票,然后打开一个 PR 到 feature-brach。 如果发生以下情况: 开发人员A从feature-b
两个线程同时访问fileName。 Set If 0 使死锁。但如果 1 一切顺利。 那么是什么导致了这种情况? 最佳答案 确保您没有在主线程上同步调用 +[PHAssetResource asset
不幸的是,我还不是正则表达式专家,因此遇到了以下问题:假设我有一个包含多个链式异常的 Java 堆栈跟踪,我想要达到的是提取以“Caused by”开头的最后一行。 javax.servlet.Ser
我确信这是我所缺少的非常简单的东西。我使用 makeKeyAndOrderFront: 打开一个窗口,它第一次工作。当我关闭窗口并尝试再次打开它时,它退出并给出错误EXC_BAD_ACCESS。我的代
我刚刚探索了 Rank2Types 和 RankNTypes,试图熟悉它们。但我不明白为什么以下不起作用。 g :: (forall a. forall b. a -> b) -> x -> y ->
我想验证输入是否严格是由 10-16 个字符长组成的数字。根据用户输入值,我将在输入字段下方显示一条消息。问题是,当我去使用时为了帮助完成此任务,它会导致应用程序抛出异常。 我是 JSF 新手,我很难
许多内置的 Java 异常无法接受“原因”。有什么方法可以为这些异常指定原因吗? 我希望能够链接异常,就像这个 InterruptedException 示例一样: try{ //thread
我创建了一个 JSP Mysql 和 Bootstrap Crud 应用程序。当我单击“更新”按钮时,将调用函数 validation() 来更新所有字段,在成功更新后,它将重定向到另一个 JSP 页
我看到了奇怪的情况:在我的 Android 应用程序代码中使用类似这样的东西时我没有收到任何错误: @Override public void onBackPressed() { if
我是一名优秀的程序员,十分优秀!