質問編集履歴

1

質問変更

2017/01/18 01:46

投稿

sequence
sequence

スコア29

test CHANGED
File without changes
test CHANGED
@@ -22,15 +22,109 @@
22
22
 
23
23
  下記、該当コード
24
24
 
25
+
26
+
27
+ ①Globalクラス
28
+
29
+ ```Java
30
+
31
+ public class Global extends GlobalSettings {
32
+
33
+
34
+
35
+ private Cancellable canceller = null;
36
+
37
+
38
+
39
+ @Override
40
+
41
+ public void onStart(Application application) {
42
+
43
+ super.onStart(application);
44
+
45
+
46
+
47
+ SettingMailer settingMailer = new SettingMailer();
48
+
49
+ ActorRef actor = Akka.system()
50
+
51
+ .actorOf(Props.create(CheckGiftDate.class, settingMailer.getMailer()));
52
+
53
+
54
+
55
+ canceller = Akka.system().scheduler().schedule(FiniteDuration.create(5, TimeUnit.SECONDS),
56
+
57
+ FiniteDuration.create(5, TimeUnit.SECONDS), actor, "do", Akka.system().dispatcher(), null);
58
+
59
+ }
60
+
61
+
62
+
63
+ @Override
64
+
65
+ public void onStop(Application application) {
66
+
67
+ if (canceller != null) {
68
+
69
+ canceller.cancel();
70
+
71
+ }
72
+
73
+ super.onStop(application);
74
+
75
+ }
76
+
77
+ }
78
+
79
+ ```
80
+
81
+
82
+
83
+ ②MailerClientを設定するコントローラークラス
84
+
85
+ ```Java
86
+
87
+ public class SettingMailer extends Controller {
88
+
89
+
90
+
91
+ @Inject
92
+
93
+ MailerClient mailerClient;
94
+
95
+
96
+
97
+ public MailerClient getMailer() {
98
+
99
+ return mailerClient;
100
+
101
+ }
102
+
103
+ }
104
+
105
+ ```
106
+
107
+
108
+
109
+ ③定期的にメールを送信するクラス
110
+
25
111
  ```Java
26
112
 
27
113
  public class CheckGiftDate extends akka.actor.UntypedActor {
28
114
 
29
115
 
30
116
 
31
- @Inject
117
+ MailerClient mailerClient;
32
118
 
119
+ String email = "sample@sample.jp";
120
+
121
+
122
+
123
+ public CheckGiftDate(MailerClient mailerClient) {
124
+
33
- MailerClient mailerClient;
125
+ this.mailerClient = mailerClient;
126
+
127
+ }
34
128
 
35
129
 
36
130
 
@@ -38,9 +132,9 @@
38
132
 
39
133
  public void onReceive(Object arg0) throws Exception {
40
134
 
41
- ...
135
+ new Mail(email);
42
136
 
43
- Email email = Mail.remind(email);
137
+ Email email = Mail.remindGift(email);
44
138
 
45
139
  mailerClient.send(email);
46
140
 
@@ -52,8 +146,12 @@
52
146
 
53
147
  コードのmailerClientがnullになってしまい、send(email)ができない状況です。
54
148
 
149
+
150
+
151
+ @InjectをCotrollerに書かなければならず、なおかつnewでインスタンス化したものは引き継げないらしいです。
152
+
55
- 状況がどうしても解決出来せん
153
+ で、今回のコードではnullになってまっおり
56
154
 
57
155
 
58
156
 
59
- どなたかご教授お願い致します。
157
+ どなたか解決方法がわかる方いらっしゃいましたら、ご教授お願い致します。