Tag: blueprint osgi

OSGi中的事务回滚

我有一个OSGi包,我在其中声明了一个服务并用蓝图注入一个事务: 在这个服务中,我有两个方法,每个方法都在数据库中写入数据,如下所示: public void createParent() throws MyException { Parent parent = new Parent(); … // Set parent fields em.persist(parent); createChild(); // Checks that could throw MyException } public void createChild() throws MyException { Child child = new Child(); … // Set child fields em.persist(child); // Checks that could throw MyException } 我的问题如下: 如果我在em.persist(parent);之间的createParent方法中抛出运行时exceptionem.persist(parent); 和createChild(); 事务回滚(正如我所料)并且父级不会保留在数据库中。 […]

java.lang.ClassCastException:[B不能强制转换为java.lang.String

我编写了一个带有Field LoginId和Password的权限类。 Iam使用AES_ENCRYPT加密passwrd并在db中加载它。 我想只检索解密的密码。 所以,我在OPEN JPA 2.0中使用NAEDQueryis使用AES_DECRYPT。 我写的查询是: Query q = em.createNativeQuery(“select AES_DECRYPT(l.password,?2) from loginDetails l where l.loginID = ?1”); q.setParameter(1, loginId); q.setParameter(2, getKey()); String s = q.getSingleResult(); 但我得到以下例外: java.lang.ClassCastException: [B cannot be cast to java.lang.String at com.rcs.chef.validation.UserValidation.decryptedPasswordForID(UserValidation.java:99) at com.rcs.chef.validation.UserValidation.validateUser(UserValidation.java:81) at com.rcs.chef.validation.UserValidation.activate(UserValidation.java:72) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:226) at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:824) […]

OSGi:Blueprint是否取代了声明式服务?

OSGi的新R4.2规范描述了Blueprint服务,用于dependency injection和服务连接。 Blueprint是否取代声明性服务(它仍然是规范的一部分),或者它们是否打算一起工作? 蓝图是否已经可用于流行的实现(Felix和Equinox)?