File tree Expand file tree Collapse file tree
jooby/src/main/java/org/jooby/internal Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1919package org .jooby .internal ;
2020
2121import com .google .common .util .concurrent .MoreExecutors ;
22+ import com .google .inject .Inject ;
2223import org .jooby .spi .Server ;
2324
24- import javax .inject .Inject ;
2525import javax .inject .Provider ;
2626import java .util .concurrent .Executor ;
2727
@@ -32,14 +32,23 @@ public class ServerExecutorProvider implements Provider<Executor> {
3232 private Executor executor ;
3333
3434 @ Inject
35- public ServerExecutorProvider (final Server server ) {
36- executor = requireNonNull (server , "Server is required." )
37- .executor ().orElse (MoreExecutors .directExecutor ());
35+ public ServerExecutorProvider (final ServerHolder serverHolder ) {
36+ requireNonNull (serverHolder , "Server holder is required." );
37+
38+ executor = (serverHolder .server != null ) ?
39+ serverHolder .server .executor ().orElse (MoreExecutors .directExecutor ()) :
40+ MoreExecutors .directExecutor ();
3841 }
3942
4043 @ Override
4144 public Executor get () {
4245 return executor ;
4346 }
4447
48+ static class ServerHolder {
49+
50+ @ Inject (optional = true ) Server server = null ;
51+
52+ }
53+
4554}
You can’t perform that action at this time.
0 commit comments