package com.mossle.security.client;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.jms.ConnectionFactory;
import com.mossle.spi.auth.ResourcePublisher;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.util.Assert;
public class ResourcePublisherImpl implements ResourcePublisher {
private ConnectionFactory connectionFactory;
private JmsTemplate jmsTemplate;
private String tenantId = "1";
@PostConstruct
public void afterPropertiesSet() {
Assert.notNull(connectionFactory);
jmsTemplate = new JmsTemplate();
jmsTemplate.setConnectionFactory(connectionFactory);
jmsTemplate.setPubSubDomain(true);
}
public void publish(String message) {
jmsTemplate.convertAndSend(getTopic(), message);
}
public void publish() {
this.publish(tenantId);
}
public String getTopic() {
return "topic.security.resource";
}
@Resource
public void setConnectionFactory(ConnectionFactory connectionFactory) {
this.connectionFactory = connectionFactory;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
}