Tôi có hai hạt. Cả hai đều thực hiện chức năng gửi thư. Một là chỉ làm việc khi nó được triển khai đến một máy chủ ứng dụng. Một cái khác được sử dụng để thử nghiệm.Dây mặc định mùa xuân với Hồ sơ
Chúng tôi có tiểu sử cho từng nhà phát triển và môi trường. Tôi muốn nối dây thử nghiệm chỉ khi thực sự thử nghiệm. Các hạt khác nên được sử dụng khi không thử nghiệm. Làm thế nào tôi có thể lưu trữ này?
@Component
@Profile("localtest")
public class OfflineMail implements Mailing {}
Giải pháp tiếp cận:
Sử dụng "mặc định" Tôi đọc ở đâu đó, nhưng có vẻ là không có mùa thu trở lại để "mặc định" cho một hồ sơ như "dev":
@Component
@Profile("default")
public class OnlineMail implements Mailing {}
-> Ngoại lệ cho không có đậu cho hệ thống dây điện được tìm thấy.
Rời hồ sơ cá nhân ra:
@Component
public class OnlineMail implements Mailing {}
-> Ném một ngoại lệ duy nhất khi chạy hồ sơ cá nhân "localtest".
Thêm tất cả các cấu:
@Component
@Profile("prod")
@Profile("integration")
@Profile("test")
@Profile("dev1")
@Profile("dev2")
@Profile("dev3")
...
public class OnlineMail implements Mailing {}
này được thực sự làm việc, tuy nhiên các nhà phát triển của chúng tôi không được đánh số họ sử dụng "dev <WindowsLogin>" và thêm các cấu hình, có thể làm việc cho một đậu, nhưng người ta sẽ nhận được gặp rắc rối khi sử dụng nó cho một số đậu vì điều này chắc chắn trở nên xấu xí.
Sử dụng một cái gì đó như @Profile ("! Localtest") dường như không hoạt động tốt.
Có ai biết cách tốt hơn để có được "dây theo mặc định nếu không tìm thấy hạt cụ thể" không?
'@ Component' mà không' @ Profile' phải là đậu mặc định, nếu không có gì là có dây. Bạn đã cố gắng để tránh ngoại lệ duy nhất với tên thiết lập cho thành phần? Ý tôi là, '@Component (" mail ")' với '@Profile (" localtest ")' và không có nó? – n1ckolas