title: SpringBoot + ActiveMQ - How to set trusted packages?
body: <p>I'm creating two springboot server &amp; client applications communicating using JMS, and everything is working fine with the release <code>5.12.1</code> for activemq, but as soon as I update to the <code>5.12.3</code> version, I'm getting the following error :</p>
  
  <pre><code>org.springframework.jms.support.converter.MessageConversionException: Could not convert JMS message; nested exception is javax.jms.JMSException: Failed to build body from content. Serializable class not available to broker. Reason: java.lang.ClassNotFoundException: Forbidden class MyClass! This class is not trusted to be serialized as ObjectMessage payload. Please take a look at http://activemq.apache.org/objectmessage.html for more information on how to configure trusted classes.
  </code></pre>
  
  <p>I went on <a href="http://activemq.apache.org/objectmessage.html" rel="noreferrer" title="ActiveMQ ObjectMessage">the URL</a> that is provided and I figured out that my issue is related to the new security implemented in the <code>5.12.2</code> release of ActiveMQ, and I understand that I could fix it by defining the trusted packages, but I have no idea on where to put such a configuration in my SpringBoot project.</p>
  
  <p>The only reference I'm making to the JMS queue in my client and my server is setting up it's URI in application.properties and enabling JMS on my "main" class with <code>@EnableJms</code>, and here's my configuration on the separate broker :</p>
  
  <pre><code>@Configuration
  @ConfigurationProperties(prefix = "activemq")
  public class BrokerConfiguration {
  
      /**
       * Defaults to TCP 10000
       */
      private String connectorURI = "tcp://0.0.0.0:10000";
      private String kahaDBDataDir = "../../data/activemq";
  
      public String getConnectorURI() {
          return connectorURI;
      }
  
      public void setConnectorURI(String connectorURI) {
          this.connectorURI = connectorURI;
      }
  
      public String getKahaDBDataDir() {
          return kahaDBDataDir;
      }
  
      public void setKahaDBDataDir(String kahaDBDataDir) {
          this.kahaDBDataDir = kahaDBDataDir;
      }
  
      @Bean(initMethod = "start", destroyMethod = "stop")
      public BrokerService broker() throws Exception {
          KahaDBPersistenceAdapter persistenceAdapter = new KahaDBPersistenceAdapter();
          persistenceAdapter.setDirectory(new File(kahaDBDataDir));
  
          final BrokerService broker = new BrokerService();
          broker.addConnector(getConnectorURI());
          broker.setPersistent(true);
          broker.setPersistenceAdapter(persistenceAdapter);
          broker.setShutdownHooks(Collections.&lt;Runnable&gt; singletonList(new SpringContextHook()));
          broker.setUseJmx(false);
  
          final ManagementContext managementContext = new ManagementContext();
          managementContext.setCreateConnector(true);
          broker.setManagementContext(managementContext);
  
          return broker;
      }
  }
  </code></pre>
  
  <p>So I'd like to know where I'm supposed to specify the trusted packages.</p>
  
  <p>Thanks :)</p>