16
16
import org .glassfish .grizzly .http .server .accesslog .AccessLogBuilder ;
17
17
import org .glassfish .grizzly .servlet .ServletRegistration ;
18
18
import org .glassfish .grizzly .servlet .WebappContext ;
19
- import org .glassfish .jersey .server .ResourceConfig ;
20
19
import org .glassfish .jersey .servlet .ServletContainer ;
21
20
import org .slf4j .Logger ;
22
21
import org .slf4j .LoggerFactory ;
32
31
import com .aol .simple .react .exceptions .ExceptionSoftener ;
33
32
import com .google .common .collect .ImmutableList ;
34
33
35
- @ AllArgsConstructor (access = AccessLevel .PRIVATE )
36
- public class GrizzlyApplication implements ServerApplication {
34
+ @ AllArgsConstructor (access = AccessLevel .PRIVATE )
35
+ public class GrizzlyApplication implements ServerApplication {
37
36
38
37
private final Logger logger = LoggerFactory .getLogger (getClass ());
39
38
private final ExceptionSoftener softener = ExceptionSoftener .singleton .factory .getInstance ();
40
39
41
40
@ Getter
42
41
private final ServerData serverData ;
43
-
42
+
44
43
private final ImmutableList <FilterData > filterData ;
45
44
private final ImmutableList <ServletData > servletData ;
46
45
private final ImmutableList <ServletContextListener > servletContextListenerData ;
47
46
@ Wither
48
47
private final SSLProperties SSLProperties ;
49
-
48
+
50
49
public GrizzlyApplication (AllData serverData ) {
51
50
this .serverData = serverData .getServerData ();
52
51
this .filterData = serverData .getFilterDataList ();
@@ -55,45 +54,42 @@ public GrizzlyApplication(AllData serverData) {
55
54
this .SSLProperties = null ;
56
55
}
57
56
58
- public void run (CompletableFuture start ,CompletableFuture end ) {
57
+ public void run (CompletableFuture start , CompletableFuture end ) {
59
58
60
59
WebappContext webappContext = new WebappContext ("WebappContext" , "" );
61
60
62
- new ServletContextListenerConfigurer (serverData ,servletContextListenerData );
63
-
61
+ new ServletContextListenerConfigurer (serverData , servletContextListenerData );
62
+
64
63
addServlet (webappContext );
65
64
66
- new ServletConfigurer (serverData ,servletData ).addServlets (webappContext );
65
+ new ServletConfigurer (serverData , servletData ).addServlets (webappContext );
67
66
68
- new FilterConfigurer (serverData ,this .filterData ).addFilters (webappContext );
67
+ new FilterConfigurer (serverData , this .filterData ).addFilters (webappContext );
69
68
70
69
addListeners (webappContext );
71
70
72
- HttpServer httpServer = HttpServer .createSimpleServer (null , "0.0.0.0" ,
73
- serverData .getPort ());
71
+ HttpServer httpServer = HttpServer .createSimpleServer (null , "0.0.0.0" , serverData .getPort ());
74
72
75
73
addAccessLog (httpServer );
76
- if (SSLProperties != null )
74
+ if (SSLProperties != null )
77
75
this .createSSLListener (serverData .getPort ());
78
76
79
- startServer (webappContext , httpServer ,start ,end );
77
+ startServer (webappContext , httpServer , start , end );
80
78
}
81
79
82
- private void startServer (WebappContext webappContext , HttpServer httpServer , CompletableFuture start , CompletableFuture end ) {
80
+ private void startServer (WebappContext webappContext , HttpServer httpServer , CompletableFuture start , CompletableFuture end ) {
83
81
webappContext .deploy (httpServer );
84
82
try {
85
- logger .info ("Starting application {} on port {}" , serverData
86
- .getModule ().getContext (), serverData .getPort ());
87
- logger .info ("Browse to http://localhost:{}/{}/application.wadl" ,
88
- serverData .getPort (), serverData .getModule ().getContext ());
83
+ logger .info ("Starting application {} on port {}" , serverData .getModule ().getContext (), serverData .getPort ());
84
+ logger .info ("Browse to http://localhost:{}/{}/application.wadl" , serverData .getPort (), serverData .getModule ().getContext ());
89
85
logger .info ("Configured resource classes :-" );
90
- serverData .extractResources ()
91
- . forEach ( t -> logger .info (t .v1 + " : " + "http://localhost:" + serverData .getPort ()
92
- + "/" + serverData . getModule (). getContext () + t . v2 )); ;
86
+ serverData .extractResources (). forEach (
87
+ t -> logger .info (t .v1 + " : " + "http://localhost:" + serverData .getPort () + "/" + serverData . getModule (). getContext () + t . v2 ));
88
+ ;
93
89
httpServer .start ();
94
90
start .complete (true );
95
91
end .get ();
96
-
92
+
97
93
} catch (IOException e ) {
98
94
softener .throwSoftenedException (e );
99
95
} catch (ExecutionException e ) {
@@ -108,58 +104,47 @@ private void startServer(WebappContext webappContext, HttpServer httpServer, Com
108
104
109
105
private void addAccessLog (HttpServer httpServer ) {
110
106
try {
111
- String accessLogLocation = serverData .getRootContext ()
112
- . getBean ( AccessLogLocationBean . class )
113
- . getAccessLogLocation ();
114
- final AccessLogBuilder builder = new AccessLogBuilder (
115
- accessLogLocation + serverData . getModule (). getContext ()
116
- + "-access.log" );
107
+ String accessLogLocation = serverData .getRootContext (). getBean ( AccessLogLocationBean . class ). getAccessLogLocation ();
108
+
109
+ accessLogLocation = accessLogLocation
110
+ + serverData . getModule (). getContext (). substring ( 0 , serverData . getModule (). getContext (). indexOf ( "/" )) + "-access.log" ;
111
+ final AccessLogBuilder builder = new AccessLogBuilder ( accessLogLocation );
112
+
117
113
builder .rotatedDaily ();
118
114
builder .rotationPattern ("yyyy-MM-dd" );
119
115
builder .instrument (httpServer .getServerConfiguration ());
120
116
} catch (Exception e ) {
121
- logger .error (ErrorCode .SERVER_STARTUP_FAILED_TO_CREATE_ACCESS_LOG
122
- .toString () + ": " + e .getMessage ());
117
+ logger .error (ErrorCode .SERVER_STARTUP_FAILED_TO_CREATE_ACCESS_LOG .toString () + ": " + e .getMessage ());
123
118
if (e .getCause () != null )
124
- logger .error ("CAUSED BY: "
125
- + ErrorCode .SERVER_STARTUP_FAILED_TO_CREATE_ACCESS_LOG
126
- .toString () + ": " + e .getCause ().getMessage ());
119
+ logger .error ("CAUSED BY: " + ErrorCode .SERVER_STARTUP_FAILED_TO_CREATE_ACCESS_LOG .toString () + ": " + e .getCause ().getMessage ());
127
120
128
121
}
129
122
130
123
}
131
124
132
125
private void addServlet (WebappContext webappContext ) {
133
126
ServletContainer container = new ServletContainer ();
134
- ServletRegistration servletRegistration = webappContext .addServlet (
135
- "Jersey Spring Web Application" , container );
136
- servletRegistration .setInitParameter ("javax.ws.rs.Application" ,
137
- this .serverData .getModule ().getJaxWsRsApplication ());
138
- servletRegistration .setInitParameter (
139
- "jersey.config.server.provider.packages" , this .serverData
140
- .getModule ().getProviders ());
127
+ ServletRegistration servletRegistration = webappContext .addServlet ("Jersey Spring Web Application" , container );
128
+ servletRegistration .setInitParameter ("javax.ws.rs.Application" , this .serverData .getModule ().getJaxWsRsApplication ());
129
+ servletRegistration .setInitParameter ("jersey.config.server.provider.packages" , this .serverData .getModule ().getProviders ());
141
130
servletRegistration .setLoadOnStartup (1 );
142
131
servletRegistration .addMapping (serverData .getBaseUrlPattern ());
143
132
}
144
133
134
+ private NetworkListener createSSLListener (int port ) {
145
135
146
-
147
- private NetworkListener createSSLListener (int port ){
148
-
149
-
150
-
151
136
SSLConfigurationBuilder sslBuilder = new SSLConfigurationBuilder ();
152
137
NetworkListener listener = new NetworkListener ("grizzly" , "0.0.0.0" , Integer .valueOf (port ));
153
138
listener .getFileCache ().setEnabled (false );
154
-
155
- listener .setSecure (true );
156
- listener .setSSLEngineConfig (sslBuilder .build (SSLProperties ));
157
-
139
+
140
+ listener .setSecure (true );
141
+ listener .setSSLEngineConfig (sslBuilder .build (SSLProperties ));
142
+
158
143
return listener ;
159
144
}
160
145
161
146
private void addListeners (WebappContext webappContext ) {
162
-
147
+
163
148
new ServletContextListenerConfigurer (serverData , servletContextListenerData ).addListeners (webappContext );
164
149
}
165
150
0 commit comments