Can't you simply do the following??
public class MyModule extends ServletModule {
protected void configureServlets() {
install(new JpaPersistModule("myJpaUnit").setProperties(myProperties));
}
}
On 15.02.2018 14:46, Evan Ruff wrote:
scl,
Thanks for the tip, this works as expected. JpaPersistModule is final
(ARGH) but I created a static utility class with an install method
that handles it. I build the database connection string using the env
props and then I'm able to set it using the
JpaPersistModule.properties( <?,?> prop ) method. Set a map of strings
in there, and it appears that it will use those values to overwrite
what comes out of the META-INF/persistence.xml file.
Best of both worlds!
Thanks!
E
On Thursday, February 15, 2018 at 6:47:33 AM UTC-5, scl wrote:
Only way you can try to achieve this is the methode:
JpaPersistModule.setProperties()
The properties passed in will be used to create the entity manager
factory (see JpaPersistService.start())
Maybe you can overwrite the URL in the properties you pass.
On 15.02.2018 12:05, Evan Ruff wrote:
I'd really like to be able to define the location of the DB, as
multiple services will be accessing it.
I'm okay with moving away from the persistence.xml file and
rolling the configuration in code, but I'm not sure where to do
that while still using JpaPersistModule. Has anyone tried a
declarative approach? Any examples anywhere?
E
On Wednesday, February 14, 2018 at 6:13:43 PM UTC-5, scl wrote:
Maybe you can make your path relative to the user directory
as described here:
http://www.h2database.com/html/faq.html#database_files
<http://www.h2database.com/html/faq.html#database_files>
Am 14. Februar 2018 21:06:34 MEZ schrieb Evan Ruff
<[email protected]>:
Hey guys,
So I'm actually just letting Guice Persist pull it
straight out of META-INF/persistence.xml file.
I'm wondering where I can either change the URL or set it
explicitly, while still using Guice Persist.
thanks!
E
On Wednesday, February 14, 2018 at 10:58:11 AM UTC-5,
Sondre Bjornebekk wrote:
If you always want to use h2, you could just simply
build the string using
https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#getenv--
<https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#getenv-->?
If you wanted to inject different JPA providers, you
could certainly use Guice for that (since you posted
here) - I have a HibernateSessionFactory that
provides a session per request like this:
@Provides @RequestScoped private SessionprovideSession() {
And then for my jUnit tests I have:
@Provides @Singleton private SessionprovideSession() {
in a
public class TestGuiceModuleextends AbstractModule
Would that fit your use case?
Cheers,
-S-
On Wednesday, February 14, 2018 at 10:38:16 AM UTC,
Evan Ruff wrote:
Hey guys,
I've got what I think is a pretty straightforward
task but I'm having a little issue figuring out
where to attach in my code.
I've got an embedded H2 database being used in an
installed application to manage state of some
objects. I'm using Hibernate as my JPA
implementation and everything is working great.
The one issue I have is that the path of the
database file is set in my URL as:
jdbc:h2:file:./data/application_db;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;
which changes depending on how the application is
executed. I'd like to have the database file be
written in a location set by an environment
variable, so that I'd have:
jdbc:h2:file:*$APP_DB_PATH*/data/application_db;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;
I've tried several different forms and it doesn't
seem to be taking.
Has anyone encountered this and could give me a
pointer on how to implement?
Thanks!
E
--
You received this message because you are subscribed to the
Google Groups "google-guice" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected] <javascript:>.
To post to this group, send email to [email protected]
<javascript:>.
Visit this group at https://groups.google.com/group/google-guice
<https://groups.google.com/group/google-guice>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/google-guice/359f8de0-3a51-4ca0-8209-50252d136788%40googlegroups.com
<https://groups.google.com/d/msgid/google-guice/359f8de0-3a51-4ca0-8209-50252d136788%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google
Groups "google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/google-guice.
To view this discussion on the web visit
https://groups.google.com/d/msgid/google-guice/9089d9ce-3580-4a5b-97c6-e757484b2413%40googlegroups.com
<https://groups.google.com/d/msgid/google-guice/9089d9ce-3580-4a5b-97c6-e757484b2413%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-guice.
To view this discussion on the web visit
https://groups.google.com/d/msgid/google-guice/eba0600b-503b-0b30-43ad-dcec3c99b82a%40gmx.ch.
For more options, visit https://groups.google.com/d/optout.