Initialization order in application.conf

java
scala
configuration

(Andrei Golubev) #1

In application.conf Play Framework 2.6 i described a db connection with jndiName and a module (play.modules.enabled += “MyModule”) that uses this jndiName. But play first initializes the module and i get error module can’t find necessary jndiName.
Сan I set the initialization order in application.conf?


(Marcos Pereira) #2

Hi @avgolubev,

No, you cannot. The initialization order is decided by Guice when creating the object graph based on your bindings. If you want to ensure that the jndiName is available when initializing your component, then you need to “suggest” that to Guice by injecting a DBApi. For example:

class MyComponentThatRequiresJndiName @Inject()(dbApi: DBApi) { ... }

That way Guice will first initialize DBApi and its dependencies before initializing MyComponentThatRequiresJndiName.

Best.


(Andrei Golubev) #3

Thanks. I’ll try it.