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