方法: public void setTrustedPackages(List<String> trustedPackages)
public void setTrustedPackages(List<String> trustedPackages)
描述:添加发送和接收中使用的所有包 Message 宾语。
Message
代码: connectionFactory.setTrustedPackages(Arrays.asList("org.api","java.util"))
connectionFactory.setTrustedPackages(Arrays.asList("org.api","java.util"))
实施守则:
private static final String DEFAULT_BROKER_URL = "tcp://localhost:61616"; private static final String RESPONSE_QUEUE = "api-response"; @Bean public ActiveMQConnectionFactory connectionFactory(){ ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(); connectionFactory.setBrokerURL(DEFAULT_BROKER_URL); connectionFactory.setTrustedPackages(Arrays.asList("org.api","java.util")); return connectionFactory; } @Bean public JmsTemplate jmsTemplate(){ JmsTemplate template = new JmsTemplate(); template.setConnectionFactory(connectionFactory()); template.setDefaultDestinationName(RESPONSE_QUEUE); return template; }
是的我在新版本中找到了它的配置
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.RELEASE</version> </parent> spring: profiles: active: @profileActive@ cache: ehcache: config: ehcache.xml activemq: packages: trusted: com.stylrplus.api.model
我正在设置Java_opts,如下所示,并传递给java命令,它为我工作。
JAVA_OPTS=-Xmx256M -Xms16M -Dorg.apache.activemq.SERIALIZABLE_PACKAGES=* java $JAVA_OPTS -Dapp.config.location=/data/config -jar <your_jar>.jar --spring.config.location=file:/data/config/<your config file path>.yml
添加以下bean:
@Bean public ActiveMQConnectionFactory activeMQConnectionFactory() { ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("your broker URL"); factory.setTrustedPackages(Arrays.asList("com.my.package")); return factory; }
已为下一版本添加了通过配置属性执行此操作的功能: https://github.com/spring-projects/spring-boot/issues/5631
您可以在其中设置以下弹簧引导属性之一 application.properties 设置受信任的包。
application.properties
spring.activemq.packages.trust-all=true
要么
spring.activemq.packages.trusted=<package1>,<package2>,<package3>