1010import java .util .concurrent .LinkedBlockingQueue ;
1111import java .util .concurrent .ThreadPoolExecutor ;
1212import java .util .concurrent .TimeUnit ;
13+ import java .util .function .Consumer ;
1314
1415import org .eclipse .jetty .server .Server ;
1516import org .eclipse .jetty .server .ServerConnector ;
@@ -104,12 +105,11 @@ public <P extends BasicJpa, J extends BasicJson, E> GenericHandlerGroupBuilder<P
104105 return new GenericHandlerGroupBuilder <>(this , jpaType , jsonType , coreDaoProvider .getCoreDao ());
105106 }
106107
107- public Javalin getJavalin () {
108- return javalin ;
109- }
110-
111108 private void create () {
109+ create (null );
110+ }
112111
112+ private void create (Consumer <Javalin > beforeStartHandler ) {
113113 Server server = new Server ();
114114 ServerConnector connector = new ServerConnector (server );
115115 connector .setHost (config .host ());
@@ -120,7 +120,11 @@ private void create() {
120120 c .server (() -> server )
121121 .accessManager (new HttpAccessManager (config .keycloakHost (), config .keycloakRealm ()))
122122 .enableCorsForAllOrigins ();
123- }).start (config .port ());
123+ });
124+ if (beforeStartHandler != null ) {
125+ beforeStartHandler .accept (javalin );
126+ }
127+ javalin .start (config .port ());
124128
125129 javalin .before (ctx -> ctx .attribute (Attribute .JAVALIN_SERVER , this ));
126130 javalin .before (ctx -> ctx .attribute (Attribute .RESPONSE_TYPE , ResponseType .JSON ));
0 commit comments