我試圖開始使用簡單的Java EE應用程序,使用以下組成部分:JSF 2.0,JPA的EclipseLink,Glasshfish 3.如何禁用 「警告:javax.ejb.EJBException異常」
下面是一些片段,支持bean:
@Inject
private ProductsFacade model;
public void saveRow(Products p) {
model.edit(p);
}
ProductsFacade:
@Stateless
public class ProductsFacade extends AbstractFacade<Products> {
@PersistenceContext
private EntityManager em;
public void edit(Products entity) {
em.merge(entity);
}
....
產品是一個實體Bean與Bean驗證註解。
現在,當用戶填寫表格不正確「model.edit」拋出EJBException異常,我處理它 與捕捉,所以saveRow
後臺bean的方法現在看起來不那麼簡潔:
public void saveRow(Products p) {
try {
model.edit(p);
} catch (EJBException e) {
if(e.getCause().getClass().getName().equals("javax.validation.ConstraintViolationException")) {
handleConstraintViolation((ConstraintViolationException)e.getCause());
}
}
}
而且還是GlassFish的日誌充滿了「警告:javax.ejb.EJBException「和較長的跟蹤。 我有一些問題:
- 我的設置有多正確?我知道jsf應該處理BeanValidation,但它不適用於我的情況。
- 如何禁用
EJBException
警告,所以服務器日誌不會被污染 - 有沒有更好的方法來處理EjbException?