将动态参数传递给注释?

Nic*_*zza 4 java annotations

我使用以下注释:

@ActivationConfigProperty(
    propertyName = "connectionParameters", 
    propertyValue = "host=127.0.0.1;port=5445,host=127.0.0.1;port=6600"),
public class TestMDB implements MessageDrivenBean, MessageListener
Run Code Online (Sandbox Code Playgroud)

我想拉出每个IP地址和端口并将它们存储在一个文件中jmsendpoints.properties......然后动态加载它们.像这样的东西:

@ActivationConfigProperty(
    propertyName = "connectionParameters", 
    propertyValue = jmsEndpointsProperties.getConnectionParameters()),
public class TestMDB implements MessageDrivenBean, MessageListener
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

Joh*_*erg 11

不可以.注释处理器(您正在使用的基于注释的框架)需要实现处理占位符的方法.


作为示例,实现了类似的技术 Spring

@Value("#{systemProperties.dbName}")
Run Code Online (Sandbox Code Playgroud)

这里Spring实现了一种解析特定语法的方法,在这种情况下转换为类似的语法System.getProperty("dbName");