291
Q: #18.4.2 | convertAndSendToUser()能够发送消息给特定用户
A:
package spittr;
import java.util.regex.Matcher;
import java.util.regex.Patter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Service;
@Service
public class SpittleFeedServiceImpl implements SpittleFeedService{
private SimpMessagingTemplate messaging;
private Pattern pattern = Pattern,compile(“\\@(\\S+)");//实现用户提及功能的正则表达式
@Autoired
public SpittleFeedServiceImpl(SimpMessagingTemplate messaging){
this.messaging = messaging;
}
public void broadcastSpittle(Spittle spittle){
messaging.convertAndSend(“/topic/spittlefeed”, spittle);
Matccher matcher = pattern.matcher(spittle.getMessage());
if(matcher.find()){
String username = matcher.group(1);
messaging.convertAndSendToUser(//发送提醒给用户
username, “/queue/notifications”,
new Notification(“You just got metioned!”);
);
}
}
}
292
Q: #19.1-1 | Spring的MailSender接口是Spring Email抽象API的核心组件。 它把Email发送给邮件服务器,由服务器进行邮件投递。图示。
A:
293
Q: #19.1.2-1 | 使用Spring的MailSender发送Email
A:
public void sendSimpleSpilleEmail(String to, Spittle spittle){
SimpleMailMessage message = new SimpleMailMessage();//构造消息
String spitterName = spittle.getSpitter().getFullName();
message.setFrom(“noreply@spitter.com”);//Email地址
message.setTo(to);
message.setSubject("New spittle from” + spittlerName);
message.setText(spitterName + “ says: “ + spittle.getText());//设置消息文本
mailSender.send(message);//发送Email
}
294
Q: #20.0-1 | JMX是什么,有什么作用?
A:
假设我们希望深入了解正在运行的应用并要在运行时改变应用的配置,此时,就可以使用Java管理扩展(Java Manage- ment Extensions,JMX)了。
295
Q: #20.0-2 | JMX规范定义了如下4种类型的MBean
A:
296
Q: #20.1-1 | Spring的MBeanExporter可以将Spring bean的属性和方法导出为MBean服务器中的JMX属性和操作。通过JMX服务器,JMX管理工具(例如JConsole)可以查看到正在运行的应用程序的内部情况。
A:
297
Q: #20.1-2 | 为了对MBean的属性和操作获得更细粒度的控制,Spring提供了几种选择,包括:
A:
298
Q: #20.1.4-1 | Spring提供了3种借助registrationBehaviorName属性来处理MBean名字冲突的机制
A:
299
Q: #20.2-1 | JCP,是什么?
A: JCP(Java Community Process)制订了JSR-160:Java管理扩展远程访问API规范(Java Management Extensions Remote API Specification)
300
Q: #20.2.3-1 | MBeanFactoryBean创建远程MBean的代理。客户端通过此代理与远程MBean进行交互,就像它是本地Bean一样。
A: