- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在 JSF bean 中这样调用 account
EJB 方法:
thử{
account.someFunction(...);
}catch(SimRuntimeException e){
logger.log(Level.FATAL, "SimRuntimeException catched !");
}catch(SimNotRuntimeException e){
logger.log(Level.FATAL, "SimNotRuntimeException catched !");
}catch(Exception e){
logger.log(Level.FATAL, "Exception catched !");
}
我的异常(exception):
public class SimRuntimeException extends RuntimeException {
public SimRuntimeException() {
siêu();
}
}
@ApplicationException(rollback=true)
public class SimNotRuntimeException extends Exception {
public SimNotRuntimeException() {
siêu();
}
}
account.someFunction(...);
抛出 SimRuntimeException
我摔倒了进入 Ngoại lệ
block ,因为我的 SimRuntimeException
被包装了可能通过 EJB 容器进入 EJBException
。account.someFunction(...);
抛出 SimNotRuntimeException
我按预期跌倒进入 SimNotRuntimeException
那么,请问 Ngoại lệ
Và @ApplicationException(rollback=true)
Và RuntimeException
之间的具体区别是什么?
câu trả lời hay nhất
Pal's blog状态:
EJB makes a difference in Application Exceptions and System Exceptions. Application exception is something that you define, you throw, and you are aware of. By default the application exception does not cause a rollback, unless you define it that way (and I think it's recommended). Every checked exception that is mentioned in the method signature and also any checked or unchecked exception that is annotated with @ApplicationException, is an application exception.
System exceptions happen in cases, you don't control, and they are unchecked exceptions. They always cause rollback. Good practice is, if you wrap checked exceptions -- that cannot be avoided -- in your method into EJBException e.g. ParseException.
关于java - EJB容器中RuntimeException和@ApplicationException(rollback=true)Exception的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14263534/
Điều này hiếm khi được sử dụng trong jquery. Khi tôi nhìn vào mã, tôi thấy rằng nó đã được sử dụng, vì vậy tôi đã gỡ lỗi giá trị của cái này và nghĩ rằng đó là trường hợp. Vẫn khá hữu ích. Dưới đây là bản tóm tắt về sự khác biệt và cách sử dụng của this và $(this). $(this) tạo ra cái gì?
Có sự khác biệt nào giữa việc sử dụng lớp đơn so với đậu được quản lý trong phạm vi ứng dụng để chứa dữ liệu ứng dụng không? Tôi cần tìm một số tài nguyên JNDI, chẳng hạn như giao diện Bean từ xa, vì vậy tôi đã viết cho mình một singleton để lưu trữ các tài liệu tham khảo của mình và chỉ cho phép
Nếu nhìn kỹ vào hình ảnh kèm theo, bạn sẽ nhận thấy rằng bạn có thể sử dụng IDE Eclipse để cấu trúc lại mã Groovy và chuyển đổi các phương thức thành các bao đóng và ngược lại. Vậy, chính xác thì bao đóng là gì và nó khác với một phương thức như thế nào? Ai đó có thể đưa ra một ví dụ hay về việc sử dụng các bao đóng
Sự khác biệt giữa gói lại hộp lang thang (tài liệu) và gói lang thang (tài liệu) là gì? Tôi nhận ra rằng gói lang thang chỉ hoạt động với VirtualBox
Tôi muốn xem liệu có ai có thể giải thích lý do tại sao đoạn mã sau hoạt động với valueOf mà không phải với các mã khác không. nhập java.math.BigDecimal lớp công khai Thay đổi { publ;
Câu hỏi này đã có câu trả lời: Đã đóng cửa 12 năm trước. Các bản sao có thể có: Closures/Lambda trong PHP hoặc Javascript trong giáo dân là gì
Câu hỏi này đã có câu trả lời ở đây: Vagrant, Docker, Puppet, Chef (3 câu trả lời) Đã đóng cửa 2 năm trước. Docker và đầu bếp có điểm gì chung?
Đoạn mã sau tạo ra cùng một kết quả trên 95% máy, nhưng khác nhau trên một số máy. Ở chế độ Gỡ lỗi, đầu ra là: Thay đổi từ Mới thành Fin OK nhưng ở chế độ Phát hành: Thay đổi
////Tạo đối tượng var Obj; // init Object Obj= {}; Sự khác biệt giữa hai đối tượng này là gì? Có thể biến điều này thành một lớp lót? Có bất kỳ lợi ích nào khi sử dụng nó theo cách này không?
Tôi muốn tìm hiểu sự khác biệt giữa các dịch vụ hẹn giờ. Tôi nên sử dụng cái nào và khi nào. Tôi đang sử dụng máy chủ ứng dụng Jboss. 1) java.ejb.Schedule. @Schedule chú thích hoặc cấu hình từ xml. 2) javax.e
Tôi đã phát hiện ra rằng có ba cách khác nhau để chuyển đối tượng sang hàm trong C++. Giả sử lớp của tôi như thế này: class Test { int i; public: Test(int x);
Sự khác biệt là gì? Kiểm tra lớp công khai { public static void main(String args[]) { String toBeCast = "c
Nếu tôi có một cột, hãy đặt làm chỉ mục chính, đặt làm INT. Nếu tôi không đặt nó ở chế độ tự động tăng và chỉ chèn các số nguyên ngẫu nhiên duy nhất vào đó, liệu điều này có làm chậm quá trình truy vấn trong tương lai so với tự động tăng không? Nếu tôi có chỉ mục chính và chỉ mục duy nhất là int
Sự khác biệt giữa hai định dạng ngày này là gì. Cái đầu tiên cung cấp thời gian thực tế và cái thứ hai cung cấp thời gian đã mua cộng với giá trị bù múi giờ. NSDateFormatter * dateFormatter = [[NSDateFormatter cấp phát]
Nếu có một hàm, giả sử foo: function foo() { console.log('bar'); } Vậy trong JavaScript, việc gọi một hàm từ một hàm khác như thế này có gì khác biệt: f
đóng cửa. Câu hỏi này dựa trên ý kiến. Câu trả lời không được chấp nhận vào thời điểm này. Bạn muốn cải thiện câu hỏi này? Cập nhật câu hỏi để việc chỉnh sửa bài đăng này có thể trả lời nó bằng sự thật và trích dẫn. Đã đóng cửa 4 năm trước. cải tiến
Mã là gì: lớp Thời gian { riêng tư: int giờ; int phút; int giây;
Tôi biết điều này rất cơ bản, nhưng có ai phiền giải thích sự khác biệt giữa hai cách khai báo mảng này không: #include array myints; ...và: int myints[5] ...và tại sao myints.size;
Tôi đã học cách tính độ đặc hiệu của css dựa trên http://reference.sitepoint.com/css/speciality Tuy nhiên, dựa trên tài liệu tham khảo này, tôi không hiểu các lớp giả (từ c) và meta giả
Tại sao lại xuất hiện thêm dòng trống khi chạy 2)? 1 đối với tôi trông giống như 2. Vậy tại sao lại có thêm dòng trong 2)? 1) xuất p1=$(cd $(dirname $0) && pwd) #
Tôi là một lập trình viên xuất sắc, rất giỏi!