Tag: java ee

优雅地处理EJB / JPA环境中的约束违规?

我在Glassfish v3应用服务器上使用EJB和JPA。 我有一个实体类,我强迫其中一个字段与@Column注释是唯一的。 @Entity public class MyEntity implements Serializable { private String uniqueName; public MyEntity() { } @Column(unique = true, nullable = false) public String getUniqueName() { return uniqueName; } public void setUniqueName(String uniqueName) { this.uniqueName = uniqueName; } } 当我尝试将此字段设置为非唯一值的对象持久化时,当EJB容器管理的事务提交时,我得到exception(如预期的那样)。 我有两个问题需要解决: 1)我得到的exception是无用的“javax.ejb.EJBException:Transaction aborted”。 如果我递归调用getCause()足够多次,我最终会得到更有用的“java.sql.SQLIntegrityConstraintViolationException”,但是这个exception是EclipseLink实现的一部分,我不太愿意依赖它的存在。 有没有更好的方法来获取JPA的详细错误信息? 2)EJB容器坚持记录此错误,即使我抓住它并处理它。 有没有更好的方法来处理这个错误,这将阻止Glassfish使用无用的exception信息混乱我的日志? 谢谢。

Hibernateexception_ $$ _ javassist_0无法强制转换为javassist.util.proxy.Proxy

您好我正在使用developnig java Web应用程序,当我尝试使用hibernate获取数据时,我得到了下一个exception java.lang.ClassCastException: com.digitalticket.model.UserType_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy 这里是栈跟踪 java.lang.ClassCastException: com.digitalticket.model.UserType_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxy(JavassistLazyInitializer.java:147) at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:75) at org.hibernate.tuple.entity.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:771) at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:4613) at org.hibernate.event.internal.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:349) at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:270) at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:150) at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1070) at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:989) at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:716) at org.hibernate.type.EntityType.resolve(EntityType.java:502) at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:170) at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:144) at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1114) at org.hibernate.loader.Loader.processResultSet(Loader.java:972) at org.hibernate.loader.Loader.doQuery(Loader.java:920) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354) at org.hibernate.loader.Loader.doList(Loader.java:2553) at […]

在Spring MVC中使用@JsonView

我正在使用以下bean定义来使我的spring应用程序在JSON中进行通信 这个消息转换器bean是否可以使用@JsonView注释?

使用Java忽略SSL证书错误

Apache Http客户端。 您可以在此处查看相关代码: String url = “https://path/to/url/service”; HttpClient client = new HttpClient(); PostMethod method = new PostMethod(url); // Test whether to ignore cert errors if (ignoreCertErrors){ TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager(){ public X509Certificate[] getAcceptedIssuers(){ return null; } public void checkClientTrusted(X509Certificate[] certs, String authType) {} public void checkServerTrusted(X509Certificate[] certs, String authType) {} } }; […]

在Java EE6中在类级别声明@Resource和@EJB

是否有任何情况(鉴于Java EE6具有java:global /,app /,模块/命名标准),需要声明EJB或资源,如下例所示? @EJB (name = “ejb/PlaceBid”, beanInterface = PlaceBid.class) public class ActionBazaarBidControllerServlet extends HttpServlet { } 在ActionBazaarBidControllerServlet使用的辅助类中查找PlaceBid PlaceBid placeBid = (PlaceBid)context.lookup(“java:comp/env/ejb/PlaceBid”);

设置/配置EJB Timer Service的DataSource

我正在尝试在我的应用程序中使用EJB 3.1中的Timer Service。 @Stateless @LocalBean public class StatelessTimerSessionBean { @Schedule(minute = “*”, second = “0”, dayOfMonth = “*”, month = “*”, year = “*”, hour = “9-17”, dayOfWeek = “Mon-Fri”) public void myTimer() { System.out.println(“Timer event: ” + new Date()); } } “..将EJB Timer Service的Timer DataSource设置设置为有效的JDBC资源..” 来自EJB计时器服务 我无法弄清楚如何正确配置Timer Datasource? 部署时出现的错误是: SEVERE: Exception while invoking class […]

各种Java Web表示层技术的优缺点

我目前正在开发一个大量使用JSF和IceFaces的Web应用程序。 我们已经讨论过转移到另一个表示层,我想我会把讨论带到SO中,看看专家们的想法。 我很好奇是否有人可以权衡各种Java表示层技术的优缺点。 如果你只和一个人合作过,说出你喜欢它的原因或者讨厌它。 如果您与多个人合作过,请给出他们如何相互叠加的印象。 我们正在考虑的技术是: ICEfaces的 JSF(没有IceFaces) GWT(谷歌网络工具包) 便门 挂毯 如果我遗漏了我的清单中的任何内容,请告诉我。 谢谢!

JavaEE6 DAO:应该是@Stateless还是@ApplicationScoped?

我目前正在创建一个EJB3数据访问类来处理我的Java EE 6应用程序中的所有数据库操作。 现在,由于Java EE 6提供了新的ApplicationScoped-Annotation,我想知道我的EJB应该具有什么状态,或者它应该是无状态的。 让DAO成为@Stateless会话Bean或@ApplicationScoped Bean会更好吗? @Singleton怎么样? 这些与DAO相关的选项有何不同? 编辑:我正在使用Glassfish 3.0.1与完整的Java EE 6平台

Java EE程序员不会写入文件

今天有人告诉我“Java EE程序员不写文件” 。 为什么我不能从Java EE容器中写入文件(例如从JBoss)? 哪里不对?

UserTransaction如何传播?

我有一个带有bean管理事务的无状态bean,以及一个这样的方法: @Stateless @TransactionManagement(TransactionManagementType.BEAN) public class … { @Resource private UserTransaction ut; @EJB private OtherStatelessBeanLocal other; public void invokeSomeMethods() ut.begin(); … // invoke other bean’s methods here. other.method(); … ut.commit(); } } 那么UserTransaction如何传播到OtherStatelessBeanLocal bean?