项目作者: melthaw

项目描述 :
The lightweight event driven message framework based on reactor or akka.
高级语言: Java
项目地址: git://github.com/melthaw/spring-event-driven-message.git
创建时间: 2017-07-21T08:08:09Z
项目社区:https://github.com/melthaw/spring-event-driven-message

开源协议:Apache License 2.0

下载


Introduction

The lightweight event driven message framework based on reactor.

Dependencies

  • Reactor 2.0.4.RELEASE

Usage

So far the following version is available

module name latest version
daas-edm 1.0.2
daas-edm-email 1.0.0
daas-edm-push 1.1.3
daas-edm-sms 1.2.1

Maven

  1. <dependency>
  2. <groupId>in.clouthink.daas</groupId>
  3. <artifactId>daas-edm</artifactId>
  4. <version>${daas.edm.version}</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>in.clouthink.daas</groupId>
  8. <artifactId>daas-edm-email</artifactId>
  9. <version>${daas.edm.email.version}</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>in.clouthink.daas</groupId>
  13. <artifactId>daas-edm-push</artifactId>
  14. <version>${daas.edm.push.version}</version>
  15. </dependency>
  16. <dependency>
  17. <groupId>in.clouthink.daas</groupId>
  18. <artifactId>daas-edm-sms</artifactId>
  19. <version>${daas.edm.sms.version}</version>
  20. </dependency>

Gradle

  1. compile "in.clouthink.daas:daas-edm:${daas_edm_version}"

Spring Configuration

  1. @Value("${mail.smtp.host}")
  2. private String smtpHost;
  3. @Value("${mail.smtp.port}")
  4. private int smtpPort;
  5. @Value("${mail.smtp.username}")
  6. private String smtpUsername;
  7. @Value("${mail.smtp.password}")
  8. private String smtpPassword;
  9. @Value("${sms.server.host}")
  10. private String smsServer;
  11. @Value("${sms.account.uid}")
  12. private String smsUid;
  13. @Value("${sms.account.key}")
  14. private String smsKey;
  15. @Value("${push.appKey}")
  16. private String pushAppKey;
  17. @Value("${push.appSecret}")
  18. private String pushAppSecret;
  19. @Value("${push.maxRetries}")
  20. private int pushMaxRetries;
  21. @Value("${push.timeToLive}")
  22. private long pushTimeToLive;
  23. @Value("${push.iosProduction}")
  24. private boolean pushIosProduction;
  25. private boolean initialized = false;
  26. @Bean
  27. public JavaMailSender javaMailSender() {
  28. JavaMailSenderImpl result = new JavaMailSenderImpl();
  29. result.setHost(smtpHost);
  30. result.setPort(smtpPort);
  31. result.setUsername(smtpUsername);
  32. result.setPassword(smtpPassword);
  33. result.getJavaMailProperties().put("mail.smtp.auth", true);
  34. result.getJavaMailProperties().put("mail.smtp.starttls.enable", true);
  35. return result;
  36. }
  37. @Bean
  38. public SmsSender smsSender() {
  39. WebChineseOptions options = new WebChineseOptions();
  40. options.setKey(smsKey);
  41. options.setServer(smsServer);
  42. options.setUid(smsUid);
  43. return new SmsSenderWebChineseImpl(options);
  44. }
  45. @Bean
  46. public EmailSender emailSender() {
  47. return new EmailSenderImpl(javaMailSender());
  48. }
  49. @Bean
  50. public PushSender pushSender() {
  51. JPushOptions options = new JPushOptions();
  52. options.setApnsProduction(pushIosProduction);
  53. options.setAppKey(pushAppKey);
  54. options.setAppSecret(pushAppSecret);
  55. options.setMaxRetries(pushMaxRetries);
  56. options.setTimeToLive(pushTimeToLive);
  57. return new PushSenderJPushImpl(options);
  58. }
  59. @Override
  60. public void onApplicationEvent(ContextRefreshedEvent event) {
  61. if (!initialized) {
  62. Edms.getEdm().register("email", emailSender());
  63. Edms.getEdm().register("sms", smsSender());
  64. Edms.getEdm().register("push", pushSender());
  65. initialized = true;
  66. }
  67. }