Stateless public class JmsSender Inject private JMSContext context Res

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
@Stateless
public class JmsSender {
@Inject
private JMSContext context;
@Resource(mappedName = "java:/student_queue")
private Queue queue;
public void send(String messageToSend){
context.createProducer().setProperty("type","String");
context.createProducer().send(queue, messageToSend);
}
public void send(Message message){
context.createProducer().setProperty("type","Message");
context.createProducer().send(queue,message);
}
public void send(Serializable serializable){
context.createProducer().setProperty("type","Serializable");
context.createProducer().send(queue,serializable);
}
}
//будет ли корректно работать метод в классе Receive:
@JMSDestinationDefinition(name = "java:/student_queue", interfaceName = "javax.jms.Queue")
@MessageDriven(
mappedName = "java:/student_queue",
name = "ExampleMDB", activationConfig = {
@ActivationConfigProperty(propertyName = "destination", propertyValue = "java:/student_queue")})
public class MessageReceiver implements MessageListener {
@Override
public void onMessage(Message msg) {
BusinessLogic businessLogic = new BusinessLogic();
businessLogic.getMessage(msg);
}
}
//интересует строка с типом входного параметра Message msg - а если я туда отправил String или Serializable? - как вообще правильно в данном случае?