我用的是openxava框架,在本地測試可以成功 ,但是用osgi的felix就出現異常 。下面是正確方法的測試,可以成功!
一 , add方法
@SuppressWarnings("unchecked")
public boolean add(String filedName,String value){
Map map = new HashMap();
map.put(filedName, value);
boolean flag = false;
try {
MapFacade.create("Application",map);
MapFacade.commit();
flag = true;
} catch (Exception e) {
flag = false;
}
return flag;
}
二,測試
public static void main(String[] args) {
ApplicationProvider ap = new ApplicationProvider();
System.out.println(ap.add("description","kebi"));--------------------這裏進行方法調用可以成功
}
-------------------------------------------------------------------------
-------------------------------------------------------------------------
經過上面的測試可以把數據存到數據庫中去
三, 但是我用osgi的felix客戶端調用就會報異常
felix客戶端的代碼如下(自己手寫的):
public class Activator implements BundleActivator { -----------這是felix客戶端的激活器代碼
private ServiceTracker st;
public void start(BundleContext context) throws Exception {
st = new ServiceTracker(context, ApplicationInterface.class.getName(), null) {
public Object addingService(ServiceReference reference) {
Object result = super.addingService(reference);
ApplicationInterface h = (ApplicationInterface) context.getService(reference);
System.out.println(h.add("description","kaobing"));----------在這裏進行調用,後臺就出現異常
return "ss";
}
};
st.open();
}
四,異常如下:
警告: 在確定默認 schema (從persistence.xml中讀出)時發生錯誤. 沒有缺省的schema.
2011-1-13 0:05:08 org.openxava.annotations.parse.AnnotatedClassParser getManaged
ClassNames
警告: Hibernate連接無法工作, 因此 JPA managed classes 直接從classpath中獲取
javax.persistence.PersistenceException: No Persistence provider for EntityManager named default
希望大家能提供幫助,謝謝!!!!!!!!!!