[Javalist] Spring ismerkedes

Gábor Garami gabor.garami at hron.me
2012. Aug. 7., K, 02:47:43 CEST


Ffffffuuu.... megoldottam.

Hat, eloszor is koszonet illeti @vicziani -t, az o jtechlog-lazy
githubos projektje adta meg a megoldas kulcsat.

Ugye nekem folyamatosan az volt a gondom, hogy weavingolni kellett
volna a classokat, es ez ugye runtime nem ment, mert se a Jetty nem
eleg intelligencs ehhez (ugye a ReflectiveLoadTimeWeaver-nek fejlett
ClassLoader kellene), se a maven (a InstrumentationLoadTimeWeaver-nek
meg java agent kellene, amit nem tudok beszurni).

A megoldas borzaszto egyszeru, nem is tudom, miert nem jutott eszembe:
kezzel kell. Es pontosan ezt is csinalja a
eclipselink-staticweave-maven-plugin.

A fenti plugin pom.xml-be torteno agyazasa:

           <plugin>
                <groupId>au.com.alderaan</groupId>
                <artifactId>eclipselink-staticweave-maven-plugin</artifactId>
                <version>1.0.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>weave</goal>
                        </goals>
                        <phase>process-classes</phase>
                         <configuration>
                            <logLevel>ALL</logLevel>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

Illetve a - elegge kiherelt - persistence.xml -be (nagyon fontos, hogy
ODA, nem az applicationContext-be, mert azt a plugin nem ismeri) bele
kell bokni eztet (ertelemszeruen a <properties> szekcioba):

      <property name="eclipselink.weaving" value="static"/>

Ha ez nincs benne, akkor a plugin ugy erzi, nincs szukseg ra, es
dolgavegezetlenul lep ki.

Ezutan a Spring mar nem akar kavarni, meg kicsit pofozgatnom kellett,
hogy csinaljon tablakat meg a MySQL-t is el kellett inditani, de
szepen felallt, es meg is kaptam az ures listamat.

Amire meg erdemes figyelni, hogy 8-as Jetty plugin legyen, ez ugyanis
- legalabbis eddig ugy tunik - ha csak egy webapp van bele felveve,
rogton arra dob at, nem keletkezik /SpringBlog/ nevu tortenet, minden
a gyokerben zajlik.

Bonusz kerdes: ha a ddl-generation=create-tables akkor csak a hianyzo
tablakat generalja meg?

Garami Gábor
E-mail: gabor.garami at hron.me
Tel: +36 20 235 9621
MSN: hrgy at vipmail.hu
Skype: hron84


2012/8/6 Gábor Garami <gabor.garami at hron.me>:
> Az EclipseLink-hez ugy nez ki kell.
>
> Kikommenteztem, ilyet kapok:
>
> Caused by: java.lang.IllegalStateException: Cannot apply class
> transformer without LoadTimeWeaver specified
>         at org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.addTransformer(SpringPersistenceUnitInfo.java:109)
>         ... 78 more
>
>
>
>
> Garami Gábor
> E-mail: gabor.garami at hron.me
> Tel: +36 20 235 9621
> MSN: hrgy at vipmail.hu
> Skype: hron84
>
>
> 2012/8/6 Tamás Magyar <magyusz at gmail.com>:
>> Egyértelműen weaving probléma van, ha türelmesen végignézed a stack
>> tracet, ami Spring esetén szinte mindig elég segítőkész:
>>
>> java.lang.IllegalStateException: Must start with Java agent to use
>> InstrumentationLoadTimeWeaver. See Spring documentation.
>>
>> Na azért nem kell mindennek bedőlni, van ennél kényelmesebb szövőgép is...
>>
>> Én most így nem tudom fejből, hogy mit szoktam használni, mert
>> referenciából szoktam kimásolni, de tuti nem kellett még JAVA_OPTS-ban
>> agenttel szórakozni a JPA miatt.
>>
>> http://static.springsource.org/spring/docs/2.5.x/reference/orm.html
>> ennek a megfelelő Spring verziójú változatát olvasd végig (nem tudom
>> miért nem a 3-asat dobja már a google)
>>
>> kis keretes írás:
>>
>> When is load-time weaving required?
>>
>> Not all JPA providers impose the need of a JVM agent (Hibernate being
>> an example). If your provider does not require an agent or you have
>> other alternatives (for example applying enhancements at build time
>> through a custom compiler or an ant task) the load-time weaver should
>> not be used.
>>
>>
>> Magyusz
>>
>> 2012/8/7 Gábor Garami <gabor.garami at hron.me>
>>>
>>> Koszi ranezek
>>>
>>> Viczián István 2012. augusztus 6., hétfő napon a következőt írta:
>>>
>>>> Üdv,
>>>>
>>>> Tudom, hogy későn kapcsolok, de hátha segít. Itt van egy példa projekt
>>>> kicsit régebbről:
>>>> https://github.com/vicziani/jtechlog-lazy
>>>> Hibernate és EclipseLink-kel is működőképes, ha jól emlékszem, még
>>>> NetBeans-ben fejlesztettem.
>>>> Hátha még találsz benne valami érdekest.
>>>>
>>>> Üdv,
>>>> --
>>>> Viczián István
>>>>
>>>>
>>>> 2012/8/6 Gábor Garami <gabor.garami at hron.me>:
>>>> > Sziasztok,
>>>> >
>>>> > Elkezdtem ismerkedni a Spring frameworkkel, hobbibol. Ossze is raktam
>>>> > egy tutorial alapjan egy kis appot, egy masik tutorial adatbazisahoz.
>>>> > Semmi extra, ket entitas User es Article, 1:N kapcsolattal. De
>>>> > tulszaladtam.
>>>> >
>>>> > Szoval, az alapveto problemam az az, hogy az appom nem hajlando
>>>> > felbootolni. Csinaltam egy Gistet, amibe beleraktam par infot:
>>>> > https://gist.github.com/3268057
>>>> >
>>>> > Az elso a log. Roviden: valamiert nem talalja a persistence
>>>> > context-et, vagy nem tudom, a lenyeg: nem tudja felinicializalni az
>>>> > EntityManagert. A tobbi XML-t lasd ott.
>>>> >
>>>> > Lecci valami tampontot adjatok... EJB appal sose volt ilyen nyugom,
>>>> > ott mindig megtalalta a persistence.xml -t...
>>>> >
>>>> > Illetve ha kell valami konfig/forras szoljatok, es bepasztazom.
>>>> >
>>>> > Udv,
>>>> >
>>>> > Garami Gábor
>>>> > E-mail: gabor.garami at hron.me
>>>> > Tel: +36 20 235 9621
>>>> > MSN: hrgy at vipmail.hu
>>>> > Skype: hron84
>>>> > _______________________________________________
>>>> > Javalist mailing list
>>>> > Javalist at lists.javaforum.hu
>>>> > http://lists.javaforum.hu/mailman/listinfo/javalist
>>>> _______________________________________________
>>>> Javalist mailing list
>>>> Javalist at lists.javaforum.hu
>>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>>
>>>
>>>
>>> --
>>> Garami Gábor
>>> E-mail: gabor.garami at hron.me
>>> Tel: +36 20 235 9621
>>> MSN: hrgy at vipmail.hu
>>> Skype: hron84
>>>
>>>
>>> _______________________________________________
>>> Javalist mailing list
>>> Javalist at lists.javaforum.hu
>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>>
>> _______________________________________________
>> Javalist mailing list
>> Javalist at lists.javaforum.hu
>> http://lists.javaforum.hu/mailman/listinfo/javalist


További információk a(z) Javalist levelezőlistáról