Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] How to create J2SE applications with no persistence.xml files

Hi Tim
Thanks for answering this. Reason is being that they want all config files in a particular place outside of web-inf folder and they want to configure it for all the different environments i.e. different persistence unit names in different environments at run time as an argument.
 
I saw an article of passing these files as a par archive in the class path.
 
Do you think I can use this approach.
 
Thanks EclipseTeam for answering my queries. 

f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng

--- On Fri, 1/30/09, Tim Hollosy <hollosyt@xxxxxxxxx> wrote:
From: Tim Hollosy <hollosyt@xxxxxxxxx>
Subject: Re: [eclipselink-users] How to create J2SE applications with no persistence.xml files
To: krisusa123@xxxxxxxxx, "EclipseLink User Discussions" <eclipselink-users@xxxxxxxxxxx>
Date: Friday, January 30, 2009, 4:13 AM

You're going to need a persistence.xml somewhere I think. What do you
mean you have a requirement you can't put an xml file in the
src/META-INF dir? That's a pretty bizarre requirement...
./tch



On Thu, Jan 29, 2009 at 11:26 PM, krisusa123 <krisusa123@xxxxxxxxx>
wrote:
>
> Hi Ben
> I am trying to use this which was developed by Tim for his comics example.
> But, even this one is looking for a persistence.xml file in my meta-inf
> directory. Otherwise there is an error like this shown after Tim's
code. The
> error was produced by having a blank persistence.xml file. If I dont have
a
> blank file, the project is throwing errors and does not run.
>
> Appreciate your help EclipseTeam!
>
> properties.put(PersistenceUnitProperties.TARGET_DATABASE,
"Derby");
>   properties.put(PersistenceUnitProperties.JDBC_DRIVER,
>     "org.apache.derby.jdbc.ClientDriver");
>   properties.put(PersistenceUnitProperties.JDBC_URL,
>     "jdbc:derby://localhost:1527/sample;create=true");
>   properties.put(PersistenceUnitProperties.JDBC_USER, "app");
>   properties.put(PersistenceUnitProperties.JDBC_PASSWORD,
"app");
>   properties
>     .put(PersistenceUnitProperties.JDBC_READ_CONNECTIONS_MIN,
"1");
>   properties.put(PersistenceUnitProperties.JDBC_WRITE_CONNECTIONS_MIN,
>     "1");
>   // properties.put(PersistenceUnitProperties.CACHE_SHARED_DEFAULT,
>   // "true");
>   properties.put(PersistenceUnitProperties.BATCH_WRITING,
"JDBC");
>   properties.put(PersistenceUnitProperties.CLASSLOADER,
> ComicsEntityManagerFactory.class.getClassLoader());
>   properties.put("eclipselink.logging.level", "FINE");
>   properties.put("eclipselink.logging.timestamp",
"false");
>   properties.put("eclipselink.logging.session",
"false");
>   properties.put("eclipselink.logging.thread",
"false");
>   emf = new
PersistenceProvider().createEntityManagerFactory("comics",
>     properties);
>
>
>
>
>
>
>
> Local Exception Stack:
>
> Exception [EclipseLink-30005] (Eclipse Persistence Services - 1.0.2 (Build
> 20081024)):
>
> org.eclipse.persistence.exceptions.PersistenceUnitLoadingException
>
> Exception Description: An exception was thrown while searching for
> persistence archives with ClassLoader:
> sun.misc.Launcher$AppClassLoader@133056f
>
> Internal Exception: Exception [EclipseLink-30004] (Eclipse Persistence
> Services - 1.0.2 (Build 20081024)):
>
> org.eclipse.persistence.exceptions.PersistenceUnitLoadingException
>
> Exception Description: An exception was thrown while processing
> persistence.xml from URL: file:/C:/workspace/Prototype/classes/
>
> Internal Exception:
>
> (1. Premature end of file.)
>
> at
>
org.eclipse.persistence.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(
>
> PersistenceUnitLoadingException.java:121)
>
> at
>
org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(
>
> PersistenceProvider.java:117)
>
> at
>
org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(
>
> PersistenceProvider.java:64)
>
> at com.xx.entitymanager.EntityManagerProcessor.createEntityManagerFactory(
>
> EntityManagerProcessor.java:41)
>
> Caused by: Exception [EclipseLink-30004] (Eclipse Persistence Services -
> 1.0.2 (Build 20081024)):
> org.eclipse.persistence.exceptions.PersistenceUnitLoadingException
>
> Exception Description: An exception was thrown while processing
> persistence.xml from URL: file:/C:/workspace/Prototype/classes/
>
> Internal Exception:
>
> (1. Premature end of file.)
>
> at
>
org.eclipse.persistence.exceptions.PersistenceUnitLoadingException.exceptionProcessingPersistenceXML(
>
> PersistenceUnitLoadingException.java:112)
>
> at
>
org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processPersistenceXML(
>
> PersistenceUnitProcessor.java:365)
>
> at
>
org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processPersistenceArchive(
>
> PersistenceUnitProcessor.java:314)
>
> at
>
org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.getPersistenceUnits(
>
> PersistenceUnitProcessor.java:237)
>
> at
>
org.eclipse.persistence.internal.jpa.deployment.JPAInitializer.initPersistenceUnits(
>
> JPAInitializer.java:146)
>
> at
> org.eclipse.persistence.internal.jpa.deployment.JPAInitializer.initialize(
>
> JPAInitializer.java:135)
>
> at
>
org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(
>
> PersistenceProvider.java:104)
> ... 6 more
>
> --- On Thu, 1/29/09, Ben Horowitz <horowitz2@xxxxxxxx> wrote:
>
> From: Ben Horowitz <horowitz2@xxxxxxxx>
> Subject: Re: [eclipselink-users] How to create J2SE applications with no
> persistence.xml files
> To: krisusa123@xxxxxxxxx
> Date: Thursday, January 29, 2009, 7:43 PM
>
> You might want to try this (I haven't tried it, but I keep it in mind
in
> case I need to use it):
>
> org.eclipse.persistence.jpa.PersistenceProvider has a method
> createContainerEntityManagerFactory that takes a PersistenceUnitInfo as an
> argument (as well as a map of properties).
>
> PersistenceUnitInfo is an interface that allows the specification of a
> list of managed class names.
>
> Good luck,
> Ben
>
>
> krisusa123 wrote:
>> Hi
>> I came into this rare problem of my app admins not ready to put files
in
> META-INF directory to load persistence file.
>>  I found this link from Doug explaining how to do this
programatically.
> But he still used it finally to specify the following:
>>  <persistence-unit name="unit-name">
>> <exclude-unlisted-classes>false</exclude-unlisted-classes>
>> </persistence-unit>
>>  Is there any way we can specify these also programatically.
>>  Reason: My persistence unit names change as per my environments and
hence
> the requirement.
>>  Appreciate your inputs.
>>  Thanks in advance.
>>
>>
>>
>>
------------------------------------------------------------------------
>>
>> _______________________________________________
>> eclipselink-users mailing list
>> eclipselink-users@xxxxxxxxxxx
>> https:// dev.eclipse.org/mailman/listinfo/eclipselink-users
>
>
>
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>
>


Back to the top