Kodo 3.0.0 Released

Hello All,
SolarMetric is happy to announce the general availability of Kodo JDO 3.0.0.
The latest version of Kodo JDO is the most powerful ever. Full release notes
can be found at http://docs.solarmetric.com/relnotes.html. A list of the
major changes can be found at the bottom of this email. If you have a valid
and up-to-date maintenance and support contract, you can download the latest
release at http://www.solarmetric.com/Software/Purchase/download.php.
If you don't, please contact your sales representative
([email protected]) to determine how to upgrade.
Major changes in Kodo JDO 3.0.0 include:
- Kodo now supports direct SQL queries and stored procedure calls through
the javax.jdo.Query interface.
- Technology preview of Kodo Management / Monitoring capability.
- JRun 4 is now supported.
- Built-in support for Borland JDataStore, as well as Microsoft Access and
Microsoft Visual FoxPro (using a JDBC-ODBC server bridge like DataDirect,
but not the Sun JDBC-ODBC bridge).
- Refactored data caching to not lock the cache as a whole when loading data
from it or storing data into it. This change improves the concurrency of the
cache.
- Support for detaching and attaching instances from a persistence manager,
allowing applications to more easily use a "data transfer object" pattern.
- Support for collection and map fields that are backed by large result
sets.
- Support for additional settings to control the handling of large result
sets.
- Better exception messages when mappings can't be found or fail validations
against the schema.
- Expanded smart proxies to include change-tracking for lists.
- New externalization system for storage of field types not supported by JDO
without resorting to serializing or requiring custom mappings. Replaces the
old stringification mapping.
- Support for aggregates and projections in queries. See the Query
Aggregates and Projections documentation for more details.
- New mapping system, providing more flexible mapping options.
- Pluggable system for storing mapping information, with built-in options
for storing mapping information in the database, in JDO metadata extensions,
and in a separate mapping file. See the section on the Mapping Factory for
more information.
- Support for embedded 1-1 mappings, including nested embedded mappings with
no limit on nesting depth. See the section on Embedded One-to-One Mapping
for more information.
- Support for timestamp and state-based optimistic lock versioning, and for
custom versioning systems. See the section on Version Indicators for more
information.
- Configurable eager fetching of 1-1, 1-many and many-many relations.
Potentially reduces the number of database queries required when iterating
through an extent or query result and accessing relation fields of each
instance.
- Improved documentation and error messaging.
Enjoy,
-Greg

Hi,
This plug in will it works with Kodo 4.0.1 and maven 1.0.2?
Thanks
Guy

Similar Messages

  • Kodo 3.1.5 Released!

    All,
    Kodo 3.1.5 is now available! Get your copy while supplies last!
    Available only direct from SolarMetric at
    http://www.solarmetric.com/jdo/Evaluate/
    There are a number of bug fixes in this patch release. You can find the
    release notes at:
    http://www.solarmetric.com/jdo/Documentation/latest/docs/relnotes.html
    Enjoy,
    -Greg
    Greg Campbell
    SolarMetric Inc.

    Stephen Kim wrote:
    Did you set the StoreCharsAsNumbers=false in your DBDictionary setting?
    kodo.jdbc.DBDictionary: StoreCharsAsNumbers=false
    Jaime De La Jara F. wrote:
    Yes, but it seems we did something wrong, fortunely, after defining the
    correct CLASSPATH, we've got the mapping files with the right db
    structure, however there are some details to correct since when we execute
    the application, kodo complains about an int field not being compatible
    with a
    char column in the db, but the field is defined as char. Here is the error
    message :
    Caused by: kodo.jdbc.meta.MappingInfoNotFoundException: The "column"
    attribute/extension for field "cl.eclac.sca.modelo.Vertice.letter" names a
    column "LETTERX" in table "VERTICEX" whose type (CHAR) is not compatible
    with the type of the field (INTEGER).
    We are using Sybase adaptive Server 12.5. Any hint about this problem
    would
    be appreciated.
    No, we didn't try that option, however since the error was restricyed to
    only one class, we converted the field to a String and everything worked
    just fine. Thanks for the hint, we'll try it.

  • Kodo 3.4.0RC3 Available

    All,
    Kodo 3.4.0 Release Candidate 3 is now available. Feel free to download
    it at:
    http://www.solarmetric.com/Software/beta/3.4.0RC3/
    There are a number of exciting new features in 3.4.0 RC3:
    * Query cache now caches aggregates and projections, including queries
    that use grouping
    * Added support for savepoints, with both in-memory and JDBC3 plugins.
    * Added support for Oracle Object fields through JDBC SQLData interfaces.
    * Improved thread and socket support for TCP RemoteCommitProvider
    * Better support for large transactions, including several optimizations
    in the datastore cache when using large transactions
    * Improvements to reverse mapping
    * Improvements to unicode support for Oracle
    * Improvements to performance of attaching of object graphs
    * Improvements to exception handling and reporting
    * Tangosol plugin supports query cache
    You can find the release notes at:
    http://www.solarmetric.com/Software/Documentation/3.4.0RC3/docs/relnotes.html
    The full documentation can be found in the distribution, and also at:
    http://www.solarmetric.com/Software/Documentation/3.4.0RC3/docs/index.html
    As this is a release candidate, please report any issues that you find
    to the Kodo beta newsgroup (solarmetric.kodo.beta).
    Good luck, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

    Savepoints:
    It would be very convinient if Kodo provided parameterless
    rollbackSavepoint() and releaseSavepoint() - they should rollback/release
    latest savepoin
    Thanks
    Alex
    "Greg Campbell" <[email protected]> wrote in message
    news:dbgseo$m66$[email protected]..
    All,
    Kodo 3.4.0 Beta 1 is now available. Feel free to download it at:
    http://www.solarmetric.com/Software/beta/3.4.0b1/
    There are a number of exciting new features in 3.4.0 Beta 1:
    * Query cache now caches aggregates and projections, including queries
    that use grouping
    * Added support for savepoints, with both in-memory and JDBC3 plugins.
    * Added support for Oracle Object fields through JDBC SQLData interfaces.
    * Improved thread and socket support for TCP RemoteCommitProvider
    * Better support for large transactions, including several optimizations
    in the datastore cache when using large transactions
    You can find the release notes at:
    http://solarmetric.com/Software/Documentation/3.4.0b1/docs/relnotes.html
    The full documentation can be found in the distribution, and also at:
    http://solarmetric.com/Software/Documentation/3.4.0b1/docs/index.html
    As this is a beta release, please report any issues that you find to the
    Kodo beta newsgroup (solarmetric.kodo.beta).
    Good luck, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

  • KODO Disgrace - Newgroup Quality

    KODO Newsgroup Quality
    We are planning to use KODO as the underlying persistence mechanism for an already implemented system. We have updated our persistency wrapper with the JPA compliant KODO since we wanted to be JPA compliant. Everything were fine till we started to use the wrarpper in the real system. We had some problems during the migration.
    That shall be disgrace. There is no reply to our posts even more than a month. Maybe this place is not to write such questions, maybe there is a bug, maybe we couldnt clearly explain the problem etc etc.. however our posts does not have even a single negative/positive reply. We are almost on the edge of giving up the decision to use KODO. If the problem is the money, we planned to use it with the end of a successful migration.
    Congratulations dear KODO team, and thank you.
    Siyamed

    We are reading these forums.
    Unfortunately, our response times have not been good because we had not set up a responsibility for creating responses. But we do care very much about the concerns raised here, and I am as disturbed as you to find that our Support is not hitting the mark. Rest assured, I’m taking action on this.
    Marc Logemann does hit the nail on the head when he identifies these problems as stemming mainly from the transition. Kodo developers used to monitor these user groups, but we’ve assigned the Kodo developers to new product development. In their place, we are training a new Kodo Support Team, but it does take time to put infrastructure in place—which is why our responses… even this one… may seem sluggish in this transition phase. Once people are in place with the expertise needed, I think you’ll find our responses to be both swift and knowledgeable.
    However, that isn’t an excuse. The truth is, it was never our intention to ignore developers, even during this transition period. We do still have support structures in place for Kodo. Our support team is not quite up to the level of the original Kodo engineers, it is true, but we expected them to meet the need during this transition.
    I think the major disconnect here is that Kodo users have been used to receiving support in a different way than we anticipated, and in a different way than we are used to providing it. However, we should have done a better job of familiarizing long-time Kodo users like you with the processes BEA has in place for customers to raise and escalate concerns and get issue resolution. We should have been more prepared for the culture you already have in place.
    Luckily, that is easily remedied. We are working to get everyone educated about our Support channels. We are also in the process of building a strong infrastructure to provide Kodo users with BEA’s normal level of comprehensive support. And we expect to be able to regularly review forums such as this one.
    As for our support of Kodo as a stand-alone product: it is absolutely not in question. BEA’s resource commitment to Kodo is very strong. We do not intend to change the things that make Kodo most successful. I’ve copied and pasted a few bullet points below to indicate how we are working internally to bring Kodo support up to date.
    Here are some of the commitments BEA is making to Kodo:
    a.     More BEA Support engineers assigned to Kodo (and currently coming up to speed) than the size of the entire original SolarMetric engineering team prior to acquisition.
    b.     Kodo Support engineers training in all regions worldwide. This enables us to provide business hour support including phone support in EMEA and APAC as well as in the Americas.
    c.     24x7 Production Support, another first for Kodo customers. Previous SolarMetric support was email-only and on a 12x5 basis (10 AM – 10 PM EST).
    d.     We have been focusing the expertise of the Kodo Engineers on product development: This year, the BEA Kodo team delivered a major release for EJB3 (Kodo 4.0) and released that technology to the open source community via Open JPA. We are also nearing the release for JDO2 (Kodo 4.1).
    e.     Adding staff and additional trainings in preparation for future releases of Kodo.
    I hope this answers some of the questions raised here. I encourage you to contact me if you have concerns about the support you are receiving from BEA.
    Thanks for offering us feedback and for your support of Kodo.
    Terry Clearkin
    WW SVP, BEA Support

  • JDOHelper cannot be used in place of KodoHelper

    Environment: _
    kodo-jdo-3.0.0RC1 on Windows XP Pro SP1
    Hi all,
    I think we have found a bug regarding Kodo licensing and JDOHelper. I have a test case, based on Kodo's tutorial, which demonstrates this, available on demand.
    As far as we can see, you have no other choice than using KodoHelper class, which will pick-up kodo.properties properly.
    If you use JDOHelper class instead you get a license error - See stack below.
    We feel this is a regression since using JDOHelper was working fine with Kodo 3.0 beta release.
    Could you please confirm there is a bug here ?
    I have modified the JDOFactory class in the tutorial to either use KodoHelper or use JDOHelper, based on a parameter:
    PersistenceManager pm _ JDOFactory.getPersistenceManager (JDOFactory.KODO_HELPER);
    or
    PersistenceManager pm _ JDOFactory.getPersistenceManager (JDOFactory.JDO_HELPER);
    In JDOFactory.java:
    if ( mode __ KODO_HELPER ) {
    /* Solution 1 : use KodoHelper.
    * This is currently the only working solution._
    factory _ KodoHelper.getPersistenceManagerFactory("kodo.properties");
    } else if ( mode __ JDO_HELPER ) {
    /* Solution 2 : use JDOHelper.
    * This is the standard solution. But it does not work._
    Properties properties _ new Properties();
    properties.setProperty(
    "javax.jdo.PersistenceManagerFactoryClass",
    "kodo.versant.ObjectPersistenceManagerFactory");
    properties.setProperty("javax.jdo.option.ConnectionURL", "jdodb");
    properties.setProperty("javax.jdo.option.ConnectionUserName",
    System.getProperty("user.name"));
    factory _ JDOHelper.getPersistenceManagerFactory(properties);
    Using KodoHelper we get the following:
    [c:\myarea\dev\jdo\tutorial kodo]java tutorial.SeedDatabase
    Created 5 new dogs.
    Using JDOHelper we get the following:
    Exception in thread "main" javax.jdo.JDOFatalUserException: Exception thrown by getPersistenceManagerFactory(Properties)
    NestedThrowables:
    java.lang.reflect.InvocationTargetException
    at javax.jdo.JDOHelper.getPersistenceManagerFactory(Unknown Source)
    at javax.jdo.JDOHelper.getPersistenceManagerFactory(Unknown Source)
    at tutorial.JDOFactory.getPersistenceManagerFactory(JDOFactory.java:49)
    at tutorial.JDOFactory.getPersistenceManager(JDOFactory.java:64)
    at tutorial.SeedDatabase.main(SeedDatabase.java:30)
    Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    .... 5 more
    Caused by: com.solarmetric.license.LicenseException: No product license key was found. Please ensure that your license key is specified in y
    our kodo.properties file (or in the "General" tab of your IDE's configuration dialog), that the key has not expired, and that it is the corr
    ect key for the version of the product that you are running. If you need to request an evaluation key, please go to http://www.solarmetric.c
    om, or contact [email protected].
    at com.solarmetric.license.License.<init>(License.java:43)
    at kodo.conf.JDOConfigurationImpl.getLicense(JDOConfigurationImpl.java:311)
    at kodo.runtime.PersistenceManagerFactoryImpl.<init>(PersistenceManagerFactoryImpl.java:79)
    at kodo.versant.ObjectPersistenceManagerFactory.<init>(ObjectPersistenceManagerFactory.java:35)
    at kodo.versant.ObjectPersistenceManagerFactory.getPersistenceManagerFactory(ObjectPersistenceManagerFactory.java:47)
    .... 9 more
    Thanks,
    P@trick
    Patrick Guillot Versant France Support Technique
    tel.: 0 810 810 664 http://www.versant.fr [email protected]

    Patrick-
    Excuse the interruption, and if I am stating the obvious, but I don't
    see a "kodo.LicenseKey" property in the Properties object that you create:
    Properties properties = new Properties();
    properties.setProperty(
    "javax.jdo.PersistenceManagerFactoryClass",
    "kodo.versant.ObjectPersistenceManagerFactory");
    properties.setProperty("javax.jdo.option.ConnectionURL", "jdodb");
    properties.setProperty("javax.jdo.option.ConnectionUserName",
    System.getProperty("user.name"));
    factory = JDOHelper.getPersistenceManagerFactory(properties);
    Are you expecting Kodo to pick it up from a kodo.properties file in the
    CLASSPATH? If so, then that isn't the way it works: Kodo will only use
    the kodo.properties file if you maually specify it. You need to include
    the license key in your properties object.
    In article <[email protected]>, Guillot wrote:
    This is exactly what I did! I reproduce the issue not only with Versant,
    but also with JDBC, using MySQL.
    If you allow, I can send you the very simple test case and all information
    you'll ask me to send.
    Thanks,
    Stephen Kim wrote:
    My guess is that Versant's ObjectPersistenceManagerFactory creates a new
    JDOConfiguration with the loadDefaults option set to false. If you can
    replicate this with JDBCPersistenceManagerFactory, we can continue
    discussing this problem here. Otherwise, I would point you to Versant's
    internal Kodo support system.
    Guillot wrote:
    But my classpath does not change between my test using KodoHelper and
    the one using JDOHelper. I use the same command window and run one test
    after the other. So, why does KodoHelper find kodo.properties while
    JDOHelper does not?
    More over, kodo.properties is located in the directory where I have the
    tutorial package. So, if it was a classpath issue, I would get a
    ClassNotFound Exception when using tutorial.SeedDatabase. Which is not the
    case.
    I agree that using FileInputStream to load kodo.properties is a working
    work-around. But the method I use should also work - and it used t work.
    In the past, we have never been setting the license key in a property, in
    the source code. It has always been picked up by kodo in kodo.properties.
    Cheers,
    P@trick
    Stephen Kim wrote:
    This is not a bug as we use JDOHelper for most of our internal tests for
    JDO compliance. My guess is that you do not have kodo.properties at the
    root of your system classpath, and thus when you initialize your
    properties object, there is no license key. Instead of setting
    properties (in which case you should be setting the kodo.LicenseKey
    property), try using a FileInputStream to load kodo.properties.
    support.versant wrote:
    Environment:
    kodo-jdo-3.0.0RC1 on Windows XP Pro SP1
    Hi all,
    I think we have found a bug regarding Kodo licensing and JDOHelper. I
    have a test case, based on Kodo's tutorial, which demonstrates this,
    available on demand.
    As far as we can see, you have no other choice than using KodoHelper
    class, which will pick-up kodo.properties properly.
    If you use JDOHelper class instead you get a license error - See stack
    below.
    We feel this is a regression since using JDOHelper was working fine with
    Kodo 3.0 beta release.
    Could you please confirm there is a bug here ?
    I have modified the JDOFactory class in the tutorial to either use
    KodoHelper or use JDOHelper, based on a parameter:
    PersistenceManager pm = JDOFactory.getPersistenceManager
    (JDOFactory.KODO_HELPER);
    or
    PersistenceManager pm = JDOFactory.getPersistenceManager
    (JDOFactory.JDO_HELPER);
    In JDOFactory.java:
    if ( mode == KODO_HELPER ) {
    /* Solution 1 : use KodoHelper.
    * This is currently the only working solution.
    factory = KodoHelper.getPersistenceManagerFactory("kodo.properties");
    } else if ( mode == JDO_HELPER ) {
    /* Solution 2 : use JDOHelper.
    * This is the standard solution. But it does not work.
    Properties properties = new Properties();
    properties.setProperty(
    "javax.jdo.PersistenceManagerFactoryClass",
    "kodo.versant.ObjectPersistenceManagerFactory");
    properties.setProperty("javax.jdo.option.ConnectionURL", "jdodb");
    properties.setProperty("javax.jdo.option.ConnectionUserName",
    System.getProperty("user.name"));
    factory = JDOHelper.getPersistenceManagerFactory(properties);
    Using KodoHelper we get the following:
    =====================================
    [c:myareadevjdotutorial kodo]java tutorial.SeedDatabase
    Created 5 new dogs.
    Using JDOHelper we get the following:
    =====================================
    Exception in thread "main" javax.jdo.JDOFatalUserException: Exception
    thrown by getPersistenceManagerFactory(Properties)
    NestedThrowables:
    java.lang.reflect.InvocationTargetException
    at javax.jdo.JDOHelper.getPersistenceManagerFactory(Unknown Source)
    at javax.jdo.JDOHelper.getPersistenceManagerFactory(Unknown Source)
    at tutorial.JDOFactory.getPersistenceManagerFactory(JDOFactory.java:49)
    at tutorial.JDOFactory.getPersistenceManager(JDOFactory.java:64)
    at tutorial.SeedDatabase.main(SeedDatabase.java:30)
    Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    ... 5 more
    Caused by: com.solarmetric.license.LicenseException: No product license
    key was found. Please ensure that your license key is specified in y
    our kodo.properties file (or in the "General" tab of your IDE's
    configuration dialog), that the key has not expired, and that it is thecorr
    ect key for the version of the product that you are running. If you need
    to request an evaluation key, please go to http://www.solarmetric.c
    om, or contact [email protected].
    at com.solarmetric.license.License.<init>(License.java:43)
    at
    kodo.conf.JDOConfigurationImpl.getLicense(JDOConfigurationImpl.java:311)
    at
    kodo.runtime.PersistenceManagerFactoryImpl.<init>(PersistenceManagerFactoryImpl.java:79)
    at
    kodo.versant.ObjectPersistenceManagerFactory.<init>(ObjectPersistenceManagerFactory.java:35)
    at
    kodo.versant.ObjectPersistenceManagerFactory.getPersistenceManagerFactory(ObjectPersistenceManagerFactory.java:47)
    ... 9 more
    Thanks,
    P@trick
    Patrick Guillot Versant France SupportTechnique
    tel.: 0 810 810 664 http://www.versant.fr
    [email protected] <mailto:[email protected]>
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Offline synchronisation design issues

    Hi all,
    I want to develop an application with JDO and MS SQL server which supports
    offline synchronisation (briefcase model). Users should be able to choose if
    they want to work locally, storing the data for instance using the MSDE.
    When they reconnect to the central sql server, data should be synchronised
    (possibly informing the user that some data cannot by synchronised if
    someone else modified the data at a later time) For this application it will
    be feasible, because most of the data wont be used / modified concurrently.
    I wonder if someone has experience / suggestions on the design /
    implementation issues for this type of application. For instance should I
    arrange things at the level of the domain classes, or should I use sql
    server to synchronize data and letting persistence manager either connect to
    SQL server or the local MSDE?
    suggestions much appreciated,
    Christiaan

    Thanks Marc,
    It would be interesting indeed to know how other developers have dealt with
    this, so I hope I get some more reactions on this thread!
    "Marc Prud'hommeaux" <[email protected]> schreef in bericht
    news:[email protected]...
    Christiaan-
    We are considering implementing this as a feature in Kodo for an
    upcoming release. If you are interested in it, please send a mail to
    [email protected] (and reference this newsgroup posting).
    In the meantime, you may want to consider using the attach/detach
    feature to detach persistent instances from a SQLServer
    PersistenceManager, and then re-attach them into some PersistenceManager
    using a stand-alone database (like Hypersonic, JDataStore, Pointbase,
    etc). This will get you part of the way there, but you will have some
    other hurdles to overcome, such as automatic change determination
    (possibly by having a "lastModified" timestamp in all your objects), as
    well as managing some sort of conflict resolution system for when
    multiple changes on the same data cause optimistic locking exceptions.
    I know that a number of other Kodo users have been looking into
    implementing this sort of this; hopefully they will chime in with their
    experiences and insights.
    In article <[email protected]>, Christiaan wrote:
    Hi all,
    I want to develop an application with JDO and MS SQL server which
    supports
    offline synchronisation (briefcase model). Users should be able tochoose if
    they want to work locally, storing the data for instance using the MSDE.
    When they reconnect to the central sql server, data should besynchronised
    (possibly informing the user that some data cannot by synchronised if
    someone else modified the data at a later time) For this application itwill
    be feasible, because most of the data wont be used / modifiedconcurrently.
    I wonder if someone has experience / suggestions on the design /
    implementation issues for this type of application. For instance shouldI
    arrange things at the level of the domain classes, or should I use sql
    server to synchronize data and letting persistence manager eitherconnect to
    SQL server or the local MSDE?
    suggestions much appreciated,
    Christiaan
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Kodo 4 final release

    Now that JDO2 has successfully passed the final ballot is
    there any planned date for full JDO2 support in Kodo 4 ?
    Thanks in advance,
    Guido

    Christiaan wrote:
    Hi,
    I just came across this link
    http://weblog.infoworld.com/techwatch/archives/005738.html
    Specifically:
    "BEA is delaying the release of Kodo 4.0 until the EJB 3 (Enterprise
    JavaBeans) specification is finalized, McBride said. That is expected in the
    June timeframe. Version 4.0 features support for EJB 3 and JDO 2."
    Would have been nice if this was also on the Solarmetric site or did I miss
    it?
    kind regards,
    Christiaan
    Yes, I have read some days ago.
    And I didn't like it.
    At this point, I don't think that BEA has a great commitment/interest on
    its JDO2 implementation and on the JDO technology tout-court.
    The facts are that the JPA implementation will be open source while JDO2
    implementation, i.e. Kodo 4, will "wait" even if JDO2 spec have been
    finally approved.
    With BEA vote.
    Guido.

  • [ANN] Maven Kodo Plugin 4.0.0 Released

    The maven-kodo-plugin team is pleased to announce the Kodo Plugin 4.0.0-EA2
    release!
    http://maven-plugins.sourceforge.net/maven-kodo-plugin/
    Maven plugin for Solarmetric's Kodo JDO implementation
    Changes in this version include:
    New Features:
    o This version requires Kodo 4.0.0-EA2 jars. Please note that this version is
    in an early stage.
    To automatically install the plugin, type the following on a single line:
    maven plugin:download
    -DgroupId=maven-kodo-plugin
    -DartifactId=maven-kodo-plugin
    -Dversion=4.0.0-EA2
    For a manual installation, you can download the plugin here:
    http://www.ibiblio.org/maven,http://maven-plugins.sourceforge.net/repository/maven-kodo-plugin/plugins/maven-kodo-plugin-4.0.0-EA2.jar
    Have fun!
    -The maven-kodo-plugin team

    Thanks! We'll add a link in our documentation.

  • [ANN] Kodo Plugin 3.2.4 Released

    The maven-kodo-plugin team is pleased to announce the Kodo Plugin 3.2.4
    release!
    http://maven-plugins.sourceforge.net/maven-kodo-plugin/
    Maven plugin for Solarmetric's Kodo JDO implementation
    Changes in this version include:
    New Features:
    o This version requires Kodo 3.2.4 jars.
    For a manual installation, you can download the plugin here:
    http://prdownloads.sourceforge.net/maven-plugins/maven-kodo-plugin-3.2.4.jar?download
    Have fun!
    -The maven-kodo-plugin team

    Nono-
    Thix comes from a faulty interaction between the MySQL JDBC Driver
    and the JBoss DataSource. All reports are that this warning has no
    effect, and can be ignored.
    Please let us know if it is causing serious problems for you. Also,
    ensure that you are using the latest version of Kodo.
    In article <bnqv0k$9p5$[email protected]>, Nono Garc__a wrote:
    >
    We are evaluating Kodo but we have various problems and a few information
    to solve them.
    For example: JBoss log: WARN [Runtime] java.sql.SQLException: You cannot
    rollback with autocommit set!
    I don't know set autocommit off. It's kodo configuration? It's mysql
    configuration? How i configure it?
    Thanks.--
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • !!  Open-source extension to Kodo released  !!

    Hello fellow Kodo users,
    You guys that are bold enough to want the cutting edge in Kodo software
    are my target audience here... (repost from main news group)
    I've been working with Kodo since it was created, and my employer has been
    generous enough to allow me to open-source my work. My goal was to make
    Kodo / JDO easy to use for the other developers on my team, without
    sacrificing any of the power of the JDO spec. The result is
    http://jstomp.sourceforge.net/. Here you will find a robust bytecode
    enhancer which makes working with Kodo a breeze. You think your code is
    clean now? Wait until you see what you can do with Stomp.
    We've been using this enhancer in production internally for over a year,
    with great results. We're using Stomp in an appserver (JBoss), connecting
    to multiple legacy databases, and everything is running smoothly. I
    convinced my employer to open this code up to the Kodo community, in the
    hope that one or two quality developers on this list will adopt this
    technology and contribute to it's success.
    So... if you are new to Kodo, forget this. If you've been using Kodo for
    a while, check this out. It rocks. I'm always open to questions /
    comments.
    Eric Lindauer
    [email protected]

    Sorry Romu, but this against the CoC and [Terms of use|http://www.sun.com/termsofuse.jsp#g2_1] here.

  • Error while configuring kodo to lookup a datasource

    We had a working application using EEPersistenceManagerFactory
    I changed the kodo.properties to lookup a non XA JDBC datasource.
    After that the application is working fine (it creates
    ,updates,deletes,finds record in the DB)
    but SystemOut.log has the following error for every operation
    We are using Kodo 2.5.0, Websphere 5.0 and Oracle 8
    How can we avoid getting this error ?.
    We tried to find any property on the Websphere datasource which can be
    altered to avoid this error but no luck.
    Thanks
    Paresh
    [10/7/03 15:30:45:467 IST] 3d8b2d1a MCWrapper E J2CA0081E: Method
    destroy failed while trying to execute method destroy on ManagedConnection
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl@437f6d23 from resource
    <null>. Caught exception: com.ibm.ws.exception.WsException: DSRA0080E: An
    exception was received by the Data Store Adapter. See original exception
    message: Cannot call 'cleanup' on a ManagedConnection while it is still in
    a transaction..
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:222)
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:172)
         at
    com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java:182)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanupTransactions(WSRdbManagedConnectionImpl.java:1826)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.destroy(WSRdbManagedConnectionImpl.java:1389)
         at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1032)
         at
    com.ibm.ejs.j2c.poolmanager.FreePool.returnToFreePool(FreePool.java:259)
         at com.ibm.ejs.j2c.poolmanager.PoolManager.release(PoolManager.java:777)
         at com.ibm.ejs.j2c.MCWrapper.releaseToPoolManager(MCWrapper.java:1304)
         at
    com.ibm.ejs.j2c.ConnectionEventListener.connectionClosed(ConnectionEventListener.java:195)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processConnectionClosedEvent(WSRdbManagedConnectionImpl.java:843)
         at
    com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.closeWrapper(WSJdbcConnection.java:569)
         at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:132)
         at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.close(SQLExecutionManagerImpl.java:814)
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.release(JDBCStoreManager.java(Inlined
    Compiled Code))
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.preSerialize(StateManagerImpl.java:784)
         at com.paresh.core.vo.Release.jdoPreSerialize(Release.java)
         at com.paresh.core.vo.Release.writeObject(Release.java)
         at java.lang.reflect.Method.invoke(Native Method)
         at
    com.ibm.rmi.io.IIOPOutputStream.invokeObjectWriter(IIOPOutputStream.java:703)
         at com.ibm.rmi.io.IIOPOutputStream.outputObject(IIOPOutputStream.java:671)
         at
    com.ibm.rmi.io.IIOPOutputStream.simpleWriteObject(IIOPOutputStream.java:146)
         at
    com.ibm.rmi.io.ValueHandlerImpl.writeValueInternal(ValueHandlerImpl.java:217)
         at com.ibm.rmi.io.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:144)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1590)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1107)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie.findCorrectionAction(_EJSRemoteStatelessValidation_da16513c_Tie.java:309)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie._invoke(_EJSRemoteStatelessValidation_da16513c_Tie.java:104)
         at
    com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:582)
         at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:437)
         at com.ibm.rmi.iiop.ORB.process(ORB.java:320)
         at com.ibm.CORBA.iiop.ORB.process(ORB.java:1544)
         at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2063)
         at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63)
         at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:95)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592)
    kodo.properties
    com.solarmetric.kodo.LicenseKey=
    #com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=java:/TransactionManager
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=TransactionFactory
    TransactionManagerMethod=com.ibm.ejs.jts.jta.TransactionManagerFactory.getTransactionManager
    #com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.InvocationManagedRuntime
    com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.AutomaticManagedRuntime
    #javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.ee.EEPersistenceManagerFactory
    javax.jdo.option.ConnectionFactoryName=ds/kodo/DataSource1
    javax.jdo.option.Optimistic=true
    javax.jdo.option.RetainValues=true
    javax.jdo.option.NontransactionalRead=true
    #com.solarmetric.kodo.DataCacheClass=com.solarmetric.kodo.runtime.datacache.plugins.CacheImpl
    # Changing these to a non-zero value will dramatically increase
    # performance, but will cause in-memory databases such as Hypersonic
    # SQL to never exit when your main() method exits, as the pooled
    # connections in the in-memory database will cause a daemon thread to
    # remain running.
    javax.jdo.option.MinPool=5
    javax.jdo.option.MaxPool=10

    We do have a makeTransientAll() before the object returns from Session
    Bean.
    We also tried the JCA path
    After installing the JCA RAR and doing a lookup for
    PersistenceManagetFactory the same code is not throwing any exception.
    The exception is thrown only if datasource is used.
    Thanks
    Paresh
    Marc Prud'hommeaux wrote:
    Paresh-
    It looks like you are returning a collection of instances from an EJB,
    which will cause them to be serialized. The serialization is happening
    outside the context of a transaction, and Kodo needs to obtain a
    connection. Websphere seems to not like that.
    You have a few options:
    1. Call makeTransientAll() on all the instances before you return them
    from your bean methods
    2. Manually instantiate all the fields yourself before sending them
    back. You could use a bogus ObjectOutputStream to do this.
    3. In 3.0, you can use the new detach() API to detach the instances
    before sending them back to the client.
    In article <[email protected]>, Paresh wrote:
    We had a working application using EEPersistenceManagerFactory
    I changed the kodo.properties to lookup a non XA JDBC datasource.
    After that the application is working fine (it creates
    ,updates,deletes,finds record in the DB)
    but SystemOut.log has the following error for every operation
    We are using Kodo 2.5.0, Websphere 5.0 and Oracle 8
    How can we avoid getting this error ?.
    We tried to find any property on the Websphere datasource which can be
    altered to avoid this error but no luck.
    Thanks
    Paresh
    [10/7/03 15:30:45:467 IST] 3d8b2d1a MCWrapper E J2CA0081E: Method
    destroy failed while trying to execute method destroy on ManagedConnection
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl@437f6d23 from resource
    <null>. Caught exception: com.ibm.ws.exception.WsException: DSRA0080E: An
    exception was received by the Data Store Adapter. See original exception
    message: Cannot call 'cleanup' on a ManagedConnection while it is still in
    a transaction..
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:222)
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:172)
         at
    com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java:182)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanupTransactions(WSRdbManagedConnectionImpl.java:1826)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.destroy(WSRdbManagedConnectionImpl.java:1389)
         at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1032)
         at
    com.ibm.ejs.j2c.poolmanager.FreePool.returnToFreePool(FreePool.java:259)
         at com.ibm.ejs.j2c.poolmanager.PoolManager.release(PoolManager.java:777)
         at com.ibm.ejs.j2c.MCWrapper.releaseToPoolManager(MCWrapper.java:1304)
         at
    com.ibm.ejs.j2c.ConnectionEventListener.connectionClosed(ConnectionEventListener.java:195)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processConnectionClosedEvent(WSRdbManagedConnectionImpl.java:843)
         at
    com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.closeWrapper(WSJdbcConnection.java:569)
         at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:132)
         at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.close(SQLExecutionManagerImpl.java:814)
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.release(JDBCStoreManager.java(Inlined
    Compiled Code))
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.preSerialize(StateManagerImpl.java:784)
         at com.paresh.core.vo.Release.jdoPreSerialize(Release.java)
         at com.paresh.core.vo.Release.writeObject(Release.java)
         at java.lang.reflect.Method.invoke(Native Method)
         at
    com.ibm.rmi.io.IIOPOutputStream.invokeObjectWriter(IIOPOutputStream.java:703)
         at com.ibm.rmi.io.IIOPOutputStream.outputObject(IIOPOutputStream.java:671)
         at
    com.ibm.rmi.io.IIOPOutputStream.simpleWriteObject(IIOPOutputStream.java:146)
         at
    com.ibm.rmi.io.ValueHandlerImpl.writeValueInternal(ValueHandlerImpl.java:217)
         at com.ibm.rmi.io.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:144)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1590)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1107)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie.findCorrectionAction(_EJSRemoteStatelessValidation_da16513c_Tie.java:309)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie._invoke(_EJSRemoteStatelessValidation_da16513c_Tie.java:104)
         at
    com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:582)
         at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:437)
         at com.ibm.rmi.iiop.ORB.process(ORB.java:320)
         at com.ibm.CORBA.iiop.ORB.process(ORB.java:1544)
         at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2063)
         at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63)
         at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:95)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592)
    kodo.properties
    com.solarmetric.kodo.LicenseKey=
    #com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=java:/TransactionManager
    >>
    >
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=TransactionFactory
    >>
    >
    TransactionManagerMethod=com.ibm.ejs.jts.jta.TransactionManagerFactory.getTransactionManager
    >>
    >>
    >
    #com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.InvocationManagedRuntime
    >>
    >
    com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.AutomaticManagedRuntime
    >>
    >>
    >
    #javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
    >>
    >
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.ee.EEPersistenceManagerFactory
    >>
    javax.jdo.option.ConnectionFactoryName=ds/kodo/DataSource1
    javax.jdo.option.Optimistic=true
    javax.jdo.option.RetainValues=true
    javax.jdo.option.NontransactionalRead=true
    #com.solarmetric.kodo.DataCacheClass=com.solarmetric.kodo.runtime.datacache.plugins.CacheImpl
    >>
    >>
    # Changing these to a non-zero value will dramatically increase
    # performance, but will cause in-memory databases such as Hypersonic
    # SQL to never exit when your main() method exits, as the pooled
    # connections in the in-memory database will cause a daemon thread to
    # remain running.
    javax.jdo.option.MinPool=5
    javax.jdo.option.MaxPool=10
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Kodo and tangosol integration: ClassCastException in TangosolQueryCache

    Hello.
    I have tried to prepare my weblogic environment to work with kodo jdo 3.4.0 and tangosol coherence.
    So, i prepare kodo's ra.xml as
              <config-property>
                   <description>DataCache.</description>
                   <config-property-name>DataCache</config-property-name>
                   <config-property-type>java.lang.String</config-property-type>
                   <config-property-value>tangosol(TangosolCacheName=dist-kodo)</config-property-value>
              </config-property>
              <config-property>
                   <description>Plugin used to cache query results loaded from the data store. Must implement kodo.datacache.QueryCache.</description>
                   <config-property-name>QueryCache</config-property-name>
                   <config-property-type>java.lang.String</config-property-type>
                   <config-property-value>tangosol(TangosolCacheName=dist-kodo)</config-property-value>
              </config-property>
              <config-property>
                   <description>Remote Commit Provider.</description>
                   <config-property-name>RemoteCommitProvider</config-property-name>
                   <config-property-type>java.lang.String</config-property-type>
                   <config-property-value>sjvm</config-property-value>
              </config-property>
    When i start weblogic 8.1 i have found in STDOUT
    * Tangosol Coherence(tm): Enterprise Edition is licensed by Tangosol, Inc.
    * License details are available at: http://www.tangosol.com/license.jsp
    * Licensed for evaluation use with the following restrictions:
    * Effective Date : 1 Sep 2006 00:00:00 GMT
    * Termination Date : 1 Nov 2006 00:00:00 GMT
    * A production license is required for production use.
    * Copyright (c) 2000-2006 Tangosol, Inc.
    Tangosol Coherence Version 3.2/357 (Pre-release)
    2006-09-11 17:43:49.303 Tangosol Coherence 3.2/357 (Pre-release) <Info> (thread=main, member=n/a): sun.misc.AtomicLong is not supported on this JVM; using a syncrhonized counter.
    but when i trying to use datacache=tangosol, have ClassCastException
    2006-09-11 17:45:57.253 Tangosol Coherence 3.2/357 (Pre-release) <Error> (thread=DistributedCache:EventDispatcher, member=4): An exception occurred while dispatching the following event:
    CacheEvent: MapListenerSupport$FilterEvent{DistributedCache$BinaryMap deleted: key=Binary(length=141, value=0x0BACED00057372000C6B6F646F2E7574696C2E4964DDFCC3A1DB13765D0300024A000269644C00095F747970654E616D657400124C6A6176612F6C616E672F537472696E673B78700000000000000001740039636F6D2E626561722E66692E74726164656875622E646F6D61696E2E627573696E6573732E436C656172616E6365437573746F6D65724A444F78), value=null, filters=[MapEventFilter(mask=DELETED)]}
    2006-09-11 17:45:57.253 Tangosol Coherence 3.2/357 (Pre-release) <Error> (thread=DistributedCache:EventDispatcher, member=4): The following exception was caught by the event dispatcher:
    2006-09-11 17:45:57.253 Tangosol Coherence 3.2/357 (Pre-release) <Error> (thread=DistributedCache:EventDispatcher, member=4):
    java.lang.ClassCastException
         at kodo.datacache.TangosolQueryCache.entryDeleted(TangosolQueryCache.java:291)
         at com.tangosol.util.MapEvent.dispatch(MapEvent.java:199)
         at com.tangosol.util.MapEvent.dispatch(MapEvent.java:164)
         at com.tangosol.util.MapListenerSupport.fireEvent(MapListenerSupport.java:550)
         at com.tangosol.coherence.component.util.SafeNamedCache.translateMapEvent(SafeNamedCache.CDB:7)
         at com.tangosol.coherence.component.util.SafeNamedCache.entryDeleted(SafeNamedCache.CDB:1)
         at com.tangosol.util.MapEvent.dispatch(MapEvent.java:199)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$ViewMap$ProxyListener.dispatch(DistributedCache.CDB:22)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$ViewMap$ProxyListener.entryDeleted(DistributedCache.CDB:1)
         at com.tangosol.util.MapEvent.dispatch(MapEvent.java:199)
         at com.tangosol.coherence.component.util.CacheEvent.run(CacheEvent.CDB:18)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.Service$EventDispatcher.onNotify(Service.CDB:14)
         at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:35)
         at java.lang.Thread.run(Thread.java:534)
    2006-09-11 17:45:57.253 Tangosol Coherence 3.2/357 (Pre-release) <Error> (thread=DistributedCache:EventDispatcher, member=4): (The service event thread has logged the exception and is continuing.)
    When i have a look to TangosolQueryCache.jad (kodo part, decompiled from .class with jad) i found
    public void entryDeleted(MapEvent evt)
    QueryKey queryKey = (QueryKey)evt.getKey();
    boolean isExpired = true;
    keyRemoved(queryKey, isExpired);
    but in com.tangosol.util.MapEvent (tangosol.jar)
    public Object getKey()
    return m_oKey;
    So, in TangosolQueryCache tries to classcast Object to QueryKey.
    Any ideas how to resolve that problem?
    And in general, where i can find example of integration kodo datacache with tangosol coherence?
    At http://edocs.bea.com/kodo/docs40/full/html/ref_guide_caching.html examples is not so full.
    Thanks for answer.

    Hi Pavel,
    Key in this event is an instance of kodo.util.Id:
    00:  0B AC ED 00 05 73 72 00 0C 6B 6F 64 6F 2E 75 74  .¬í..sr..kodo.ut
    10:  69 6C 2E 49 64 DD FC C3 A1 DB 13 76 5D 03 00 02  il.Id�?üáÛ.v]...
    20:  4A 00 02 69 64 4C 00 09 5F 74 79 70 65 4E 61 6D  J..idL.._typeNam
    30:  65 74 00 12 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53  et..Ljava/lang/S
    40:  74 72 69 6E 67 3B 78 70 00 00 00 00 00 00 00 01  tring;xp........
    50:  74 00 39 63 6F 6D 2E 62 65 61 72 2E 66 69 2E 74  t.9com.bear.fi.t
    60:  72 61 64 65 68 75 62 2E 64 6F 6D 61 69 6E 2E 62  radehub.domain.b
    70:  75 73 69 6E 65 73 73 2E 43 6C 65 61 72 61 6E 63  usiness.Clearanc
    80:  65 43 75 73 74 6F 6D 65 72 4A 44 4F 78           eCustomerJDOx   so, either kodo.datacache.TangosolQueryCache is listening to a wrong cache, or application attempts to remove something which is not removeable - did you try asking BEA support about this ?
    Anyway, this exception doesn't affect anything - The service event thread has logged the exception and is continuing.
    Regards,
    Dimitri

  • 11g Release 1 Patch Set 3 (WLS 10.3.4)

    Hi.
    While creating new server in OEPE Helios(11.1.1.6) I found that WLS 10.3.4 is available for selection. However I didnt find any information neither links to download it. Only 10.3.3 is available.
    When and where it is\would be available for download?
    Thanks

    frf,
    Hello, as part of the WebLogic 10.3.4 release on friday - we verified JPA 2.0 functionality for enterprise users using JPA as their persistence pattern. The main issues were JPA 2.0 XSD validation and JPA 2.0 container managed persistence unit injection.
    The details of the following post outline what happens out of the box and how JPA 2.0 can be officially enabled on JEE5 compliant WebLogic 10.3.4 install +(with or without the QWG8 patch)+
    In 10.3.3.0 you were required to use the FilteringClassLoader via the *<wls:prefer-application-packages>* addition to your application managed persistence unit - this workaround is now deprecated and not required in 10.3.4.0 for both application and container managed persistence contexts.
    Specifically we will start retesting EE applications using a SSB injected @PersistenceContext container managed JTA transactional JPA 2.0 persistence units with/without JPA 2.0 XSD elements.
    I verified the server and it is using SVN rev# *8635 from 6 Dec 2010* https://fisheye2.atlassian.com/changelog/eclipselink/?cs=8635
    Essentially in order to enable JPA 2.0 functionality on WebLogic 10.3.4 shipped on 14 Jan 2011 - you apply the QWG8 patch below or manually edit your server classpath to put the JPA 2.0 persistence specification API jar and the com.oracle.jpa2support_1.0.0.0_2-0.jar ahead of the other liibraries on the classpath.
    commEnv.cmd: line 67
    @rem Set BEA Home
    set BEA_HOME=C:\opt\wls1034r20110115
    @rem Enable JPA 2.0 functionality on WebLogic Server 10.3.4 with the following patch line for commEnv.cmd:67
    set PRE_CLASSPATH=%BEA_HOME%\modules\javax.persistence_1.0.0.0_2-0-0.jar;%BEA_HOME%\modules\com.oracle.jpa2support_1.0.0.0_2-0.jarEverything is shipped with WebLogic 10.3.4 but JPA 1.0 is enabled by default so that this JEE5 capable server is backwards compatible with JEE5/JPA1 out of the box. Without the above patch you will see the following.
    <15-Jan-2011 5:58:40 o'clock PM EST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 10.3.4.0 Fri Dec 17 20:47:33 PST 2010 1384255 >
    [EL Info]: 2011-01-15 18:06:38.082--ServerSession(48997950)--Thread(Thread[[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--EclipseLink, version: Eclipse Persistence Services - 2.1.2.v20101206-r8635
    [EL Info]: 2011-01-15 18:06:38.082--ServerSession(48997950)--Thread(Thread[[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--Server: 10.3.4.0
    We have the required bundles in the modules directory...
    javax.persistence_1.0.0.0_2-0-0.jar (upgraded from 1-0-2)
    org.eclipse.persistence_1.0.0.0_2-1.jar (upgraded from 2-0)
    A very quick test of a JPA 2.0 container managed app with the following persistence.xml in the ejb.jar works as detailed below.
    There are 3 issues we must check.
    1) JPA 2.0 XSD parsing errors: as expected there are no more JPA 2.0 schema parsing issues.
    2) New JPA 2.0 schema elements like the *<shared-cache-mode>NONE</shared-cache-mode>* element - this passes validation but we need to verify runtime functionality
    3) JPA 2.0 runtime API like a entityManager.getMetamodel(); call on the Servlet or Statless session bean
    4) JPA 2.0 weaving/instrumentation - Again we need to verify something like weaving of Entities contaiing lazy IndirectLists are weaved properly by the container.
    Note: All testing in this post is on a WebLogic 10.3.4.0 install out-of-the-box. The only modification I made was in creating a derby 10.5.3.0 JTA global datasource "localJTA" on the server - and drop a container managed JPA 2.0 app as an EAR in the autodeploy directory on the default user domain.
    <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
        <persistence-unit name="example" transaction-type="JTA">
            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <!-- we will default to Kodo without specifying the provider -->
            <jta-data-source>localJTA</jta-data-source>
            <shared-cache-mode>NONE</shared-cache-mode><!-- shared-cache-mode must come after any class definitions (usually SE only) - the JPA schema is ordered -->
            <properties>
                <property name="eclipselink.target-server" value="WebLogic_10"/>
                <property name="eclipselink.target-database" value="Derby"/>           
                <property name="eclipselink.logging.level" value="FINEST"/>
                <!-- new for 10.3.4.0 http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging#Server_Logging  -->
                <property name="eclipselink.logging.logger" value="DefaultLogger"/>
                <!-- turn off DDL generation after the model is stable -->           
                <!-- property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
                <property name="eclipselink.ddl-generation.output-mode" value="database"/-->
            </properties>      
        </persistence-unit>For 3) we get the following exception out of the box on a servlet if we do not apply the above mentioned patch below - because the container defaults to Java EE 5 functionality - or JPA 1.0
    http://download.oracle.com/docs/cd/E18476_01/doc.220/e18480/weblogicchap.htm
    java.lang.NoSuchMethodError: javax/persistence/EntityManager.getMetamodel()Ljavax/persistence/metamodel/Metamodel;
    at org.eclipse.persistence.example.jpa.server.weblogic.enterprise.presentation.FrontController.processGliderComm
    and(FrontController.java:346)
    or 3) The same exception if we try to run JPA 2.0 on the DI entityManager from the SSB in the EJB container classLoader
    javax.ejb.EJBException: EJB Exception: : java.lang.NoSuchMethodError: javax/persistence/EntityManager.getMetamodel()Ljavax/persistence/metamodel/Metamodel;
    +     at org.eclipse.persistence.example.jpa.server.business.ApplicationService.insertObjects(ApplicationService.java:66)+
    +     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)+
    +     at java.lang.reflect.Method.invoke(Method.java:597)+
    +     at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)+
    +..+
    +     at $Proxy74.insertObjects(Unknown Source)+
    +     at org.eclipse.persistence.example.jpa.server.business.ApplicationService_5ptwty_ApplicationServiceLocalImpl.__WL_invoke(Unknown Source)+
    We also get the Kodo/OpenJPA provider when we attempt to weave.
    +<openjpa-1.1.1-SNAPSHOT-r422266:965591 fatal user error> org.apache.openjpa.util.MetaDataException: "org.eclipse.persistence.example.jpa.server.business.Cell.id" declares generator name "EL_SEQUENCE_CELL", but uses the AUTO generation type. The only valid generator names under AUTO are "uuid-hex" and "uuid-string".+
    +     at org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.getGeneratedValueStrategy(AnnotationPersistenceMetaDataParser.java:1226)+
    Therefore there is still a little bit of configuration required.
    Enabling JPA2 support
    1) install the QWG8 patch, or
    2) manually add the com.oracle.jpa2support_1.0.0.0_2-0.jar ahead of the server classpath by following the instructions in the documentation at
    http://download.oracle.com/docs/cd/E17904_01/web.1111/e13720/using_toplink.htm#EJBAD1309
    or doing it manually by modifying the following line
    C:\opt\wls10340_pub110115\wlserver_10.3\common\bin\commEnv.cmd
    set PRE_CLASSPATH=%BEA_HOME%\modules\javax.persistence_1.0.0.0_2-0-0.jar;%BEA_HOME%\modules\com.oracle.jpa2support_1.0.0.0_2-0.jar
    Results
    The following code
    @Local
    @Stateless
    public class ApplicationService implements ApplicationServiceLocal {
        @PersistenceContext(unitName="example", type=PersistenceContextType.TRANSACTION)     
        private EntityManager entityManager;
        public boolean insertObjects(List<Cell> classes) {
            try {
                for(int i=0; i< classes.size(); i++) {
                    entityManager.persist(classes.get(i));
                System.out.println("JPA 2.0 Metamodel: " + entityManager.getMetamodel());           ...prints out the JPA 2.0 EntityManager dependency injected into the SSB proxy for the life of the transaction in the function
    JPA 2.0 Metamodel: MetamodelImpl@34817119 [ 5 Types: , 2 ManagedTypes: , 2 EntityTypes: , 0 MappedSuperclassTypes: , 0 EmbeddableTypes: ]+
    +[EL Finer]: 2011-01-15 22:36:00.33--UnitOfWork(34913451)--Thread(Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--TX beforeCompletion callback, status=STATUS_ACTIVE+
    You can see that when we debug the stateless session bean $Proxy that has our injected EntityManager...
    this     ApplicationService_5ptwty_Impl  (id=11616)     
         __WL_EJBContext     SessionEJBContextImpl  (id=11654)     
         entityManager     $Proxy73  (id=11639)     
              h     TransactionalEntityManagerProxyImpl  (id=11638)     
                   appName     "org.eclipse.persistence.example.jpa.server.weblogic.enterpriseEAR" (id=11513)     
                   closeMethod     Method  (id=11663)     
                   moduleName     "org.eclipse.persistence.example.jpa.server.weblogic.enterpriseEJB.jar" (id=11515)     
                   persistenceUnit     PersistenceUnitInfoImpl  (id=11665)     
                   persistenceUnitName     "org.eclipse.persistence.example.jpa.server.weblogic.enterpriseEAR#org.eclipse.persistence.example.jpa.server.weblogic.enterpriseEJB.jar#example" (id=11666)     
                   queryMethods     HashSet<E>  (id=11668)     
                   transactionAccessMethod     Method  (id=11669)     
                   transactionalMethods     HashSet<E>  (id=11670)     
                   txHelper     TransactionHelperImpl  (id=11523)     
                   txRegistry     ServerTransactionManagerImpl  (id=11524)     
                   unqualifiedPersistenceUnitName     "example" (id=11672)     ...no longer complains about an unknown getMetamodel() JPA 2.0 method signature
    Oracle WebLogic Server 11gR1 PatchSet 3 r20110115 at localhost [Oracle WebLogic Server]     
         Java HotSpot(TM) Client VM[localhost:8453]     
              Daemon Thread [[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'] (Running)     
              Daemon Thread [[ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)'] (Suspended)     
                   TransactionalEntityManagerProxyImpl.invoke(Object, Method, Object[]) line: 18     
                   $Proxy59.getMetamodel() line: not available [local variables unavailable]     
                   ApplicationService_5ptwty_Impl(ApplicationService).insertObjects(List<Cell>) line: 60     
    ..               JdkDynamicAopProxy.invoke(Object, Method, Object[]) line: 204     
                   $Proxy71.insertObjects(List) line: not available     
                   ApplicationService_5ptwty_ApplicationServiceLocalImpl.__WL_invoke(Object, Object[], int) line: not available     
                   SessionLocalMethodInvoker.invoke(BaseLocalObject, MethodDescriptor, Object[], int, String, Class<?>) line: 39     
                   ApplicationService_5ptwty_ApplicationServiceLocalImpl.insertObjects(List) line: not available     
                   FrontController.generateGlider(PrintWriter) line: 252     
    ..               FrontController(HttpServlet).service(ServletRequest, ServletResponse) line: 820     
                   StubSecurityHelper$ServletServiceAction.run() line: 227     
    ..               ExecuteThread.run() line: 176     
    arg1     Method  (id=11511)     
         clazz     Class<T> (javax.persistence.EntityManager) (id=8312)     
         name     "getMetamodel" (id=11543)     
         returnType     Class<T> (javax.persistence.metamodel.Metamodel) (id=11545)     For 4) Weaving is occuring as expected on either the JPA 1.0 or JPA 2.0 entities. We check this by either checking that our Entity is an instanceof org.eclipse.persistence.internal.weaving.PersistenceWeaved interface, or debug into the Entity and look for our bytcode instrumented weaved fields that start with _persistence*.  The question is - we need a weaved field or weaved function that was introduced for JPA 2.0
    [4]     Cell  (id=11571)     
         _persistence_fetchGroup     null     
         _persistence_primaryKey     null     
         _persistence_session     null     
         _persistence_shouldRefreshFetchGroup     false     
         aCellAttribute     null     
         id     null     
         left     null     
         peers     HashSet<E>  (id=11572)     
              map     HashMap<K,V>  (id=11575)     
    com.oracle.jpa2support_1.0.0.0_2-0.jar forensicsI had a look at the patch jar com.oracle.jpa2support_1.0.0.0_2-0.jar that WebLogic 10.3.4 ships with that allows installers to enable JPA 2.0 (JSR-317) support to superceed the default JPA 1.0 (JSR-220) support. It looks like the container proxy code for container managed EntityManagerFactory and EntityManager $Proxy objects has been updated so that a JPA 2.0 EntityManager $Proxy object get injected with the proper API level object via the InvocationHandlerFactory, FactoryInterceptor. The Query proxy has been updated as well. There is a fix for Kodo(OpenJPA) and OpenJPA related to the recent change and deprecation of certain functions of those providers. The EclipseLink JPA 2.0 provider (as the provider for TopLink) did not need weblogic changes beyond placing the JPA javax.peristence 2.0 specification jar higher on the classpath.
    The root EclipseLink tracking bug is 334468
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=334468
    OTN downloadhttp://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html
    Patching
    http://download.oracle.com/docs/cd/E18476_01/doc.220/e18480/weblogicchap.htm
    Documentationhttp://download.oracle.com/docs/cd/E17904_01/web.1111/e13852/toc.htm
    Supported Oracle WebLogic Server Versionshttp://download.oracle.com/docs/cd/E15315_06/help/oracle.eclipse.tools.weblogic.doc/html/SupportedServerVersions.html
    TopLink JPA 2.0 Specifichttp://download.oracle.com/docs/cd/E17904_01/web.1111/e13720/using_toplink.htm#EJBAD1309
    see related
    JPA 2: Reverify JPA 2.0 XSD support in persistence.xml on AM/CM app on WebLogic 10.3.3.0
    http://bugs.eclipse.org/331569
    JPA 2.0: Add WebLogic 10.3 configuration process to enable the JPA 2.0 library functionality - updated
    http://bugs.eclipse.org/296271
    http://en.wikipedia.org/wiki/Oracle_WebLogic_Server - updated
    JPA: Add downloadable 60k weblogic.EAR to wiki page (outside of SVN) - reopened
    http://bugs.eclipse.org/294745
    JPA: support WebLogic 10.3.4.0 introduction of new JPA MBean that changes the default JPA provider
    http://bugs.eclipse.org/312824
    JPA: Update tutorial wiki for WebLogic 10.3 to match the Oracle WebLogic 11g 10.3.3.0 - assigned
    http://bugs.eclipse.org/310849
    To be answered
    OTN Post: WebLogic 10.0 + JPA 2.0 = errors - updated
    Re: WebLogic 10.0 + JPA 2.0 = errors
    Deploy Hibernate based EAR file on Weblogic 10.3.3?
    OTN Post: Default JPA provider for Weblogic Server 10.3.2 (11g) - updated
    Default JPA provider for Weblogic Server 10.3.2 (11g)
    OTN Post: Hibernate 3.6 Final (JPA 2.0) + WL 10.3.x :Unable to deploy sample appn - updated
    Hibernate 3.6 Final (JPA 2.0) + WL 10.3.x :Unable to deploy sample appn
    WebLogic 10.0 + JPA 2.0 = errors
    OTN Post: EJB with Hibernate On Weblogic - updated
    Re: EJB with Hibernate On Weblogic
    OTN Post: OEPE 1.6 - Oracle WebLogic Server 11gR1 PatchSet 3 requres WLS 10.3.4 - answered
    OEPE 1.6 - Oracle WebLogic Server 11gR1 PatchSet 3 requres WLS 10.3.4
    OTN Post: EJB with Hibernate On Weblogic - updated
    Re: EJB with Hibernate On Weblogic
    OTN Post: OpenJPA_2.0 NoSuchMethod error (getValidationMode()) - updated
    OpenJPA_2.0 NoSuchMethod error (getValidationMode())
    JPA 2.0 features used on WebLogic even if they are not available at runtime - notified
    http://netbeans.org/bugzilla/show_bug.cgi?id=189205
    Option to enable JPA 2.0 for dev WebLogic - notified
    http://netbeans.org/bugzilla/show_bug.cgi?id=189348
    False-positive error badge on project with JPA targeting WebLogic - notified
    http://netbeans.org/bugzilla/show_bug.cgi?id=189626
    Giving up on Hibernate (for now), trying EclipseLink...
    http://forums.netbeans.org/post-94817.html
    http://blogs.sun.com/arungupta/entry/which_java_ee_6_app
    Eclipselink 2.0 + WebLogic 10 => No joy (Unable to get Eclipse link 2.0 working with WebLogic 10) - answered
    http://www.eclipse.org/forums/index.php?t=msg&goto=644000&S=40e13288641c0af5dc8489343b896348#msg_644000
    eclipselink-users Problem of eclipselink upgrade (2.0.2) - WebLogic 10.3.3.0 - answered
    http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg04631.html
    Re: EclipseLink + JPA 2 in Weblogic 10.3.0
    http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg04375.html - answered below
    Re: eclipselink-users Problems with Eclipselink 2 (JPA 2.0) & WebLogic 10,
    http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg05609.html
    [eclipselink-users] Problems with Eclipselink 2 (JPA 2.0) & WebLogic 10 - answered
    http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg05639.html
    To be Deprecated
    JPA 2: Reverify JPA 2.0 XSD support in persistence.xml on AM/CM app on WebLogic 10.3.3.0
    http://bugs.eclipse.org/331569
    JPA 2.0: Add WebLogic 10.3 configuration process to enable the JPA 2.0 library functionality
    http://bugs.eclipse.org/296271
    WebLogic 10.3 availability?
    / Michael O'Brien
    http://www.eclipselink.org

  • Question about Kodo Savepoint

    Hello,
    I tried to use Kodo Savepoint, but met some problems. I think the issue was related to the configuration. Does anybody give some advices?
    With the default Kodo configurations (kodo.SavepointManager=in-mem, kodo.FlushBeforeQueries=true), Kodo reports: “The configured SavepointManager does not support incremental flushing when a savepoint has been set. You must release your savepoints before flushing” while querying from DB after setting save point.
    With Kodo configurations (kodo.SavepointManager=in-mem, kodo.FlushBeforeQueries=false), the save point could be set, rollback to, released successfully. But Kodo reports: “Queries with aggregates or projections using variables currently cannot be executed in-memory. Either set IgnoreCache to true, set the openjpa.FlushBeforeQueries property to true, or execute the query before changing any instances in the transaction” while loading DB schema.
    With Kodo configurations (kodo.SavepointManager=jdbc, kodo.FlushBeforeQueries=true|false), Kodo reports: “An error occurred attempting to invoke JDBC 3 method. Your driver or database may not support JDBC 3 features” while setting save point. The save point was introduced since JDBC 3.0. I can use save point successfully via JDBC client with same oracle JDBC driver and database instance. Still don’t know why this issue reported by Kodo.
    With Kodo configurations (kodo.SavepointManager=oracle, kodo.FlushBeforeQueries= true|false), Kodo reports: “could not set a Savepoint with auto-commit on” while setting save point. And we can’t use oracle SavepointManager because we should support multiple database platform.
    Thanks,
    Alan

    Can someone please respond to the solution of this problem.
         at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:293)
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:306)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:468)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:357)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:83)
         at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1476)
         at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1274)
         at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:440)
         at weblogic.jdbc.jta.DataSource.connect(DataSource.java:396)
         at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:359)
         at com.solarmetric.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:122)
         at com.solarmetric.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:73)
         at kodo.jdbc.runtime.JDBCStoreManager.connectInternal(JDBCStoreManager.java:906)
         at kodo.jdbc.runtime.JDBCStoreManager.connect(JDBCStoreManager.java:884)
         at kodo.jdbc.runtime.JDBCStoreManager.retainConnection(JDBCStoreManager.java:189)
         at kodo.jdbc.runtime.JDBCStoreManager.begin(JDBCStoreManager.java:114)
         at kodo.runtime.DelegatingStoreManager.begin(DelegatingStoreManager.java:95)
         at kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:1106)
         at kodo.runtime.PersistenceManagerImpl.flushSafe(PersistenceManagerImpl.java:1038)
         at kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:808)
         at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:429)
         at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:335)
         at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:291)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4060)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:3953)
         at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4467)
         at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    ,currentThread=Thread[[ACTIVE] ExecuteThread: '53' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads],lastUser=null,currentError=null,currentErrorTimestamp=null,t
    This fails in clustered environment but works fine in stand alone.
    Edited by varchitect at 01/18/2008 9:59 AM

  • Kodo.rar in B5 has same problem as in B4

    Hi guys,
    The dereference issue in B4 (which is not in B3) is still in B5. The stack trace and my code (which
    is a hacked version of your code) is below.
    David Ezzio
    My code that looks for CF:
    private ConnectionFactory getConnectionFactory()
    // this the the JNDI name for the Kodo Resource
    // Adaptor that you will have configured in in
    // your application server
    String pmname = "java:/kodo";
    try
    MsgCenter.putMsg("Looking up jndi name: " + pmname);
    Object ob = new InitialContext().lookup(pmname);
    MsgCenter.putMsg("Casting to ConnectionFactory");
    ConnectionFactory fac = (ConnectionFactory) ob;
    MsgCenter.putMsg("ConnectionFactory type is: " + fac.getClass().getName());
    return fac;
    14:30:37,306 INFO [Server] JBoss (MX MicroKernel) [3.0.0 Date:200205311035] Started in 0m:46s:86ms
    14:31:04,895 INFO [STDOUT] Stateless QuoteServerEJB: ejbCreate called
    14:31:04,905 INFO [STDOUT] Looking up jndi name: java:/kodo
    14:31:04,905 ERROR [STDERR] javax.naming.NamingException: Could not dereference object. Root
    exception is
    14:31:04,905 ERROR [STDERR] java.lang.IllegalAccessException:
    com.solarmetric.kodo.impl.jdbc.ee.JDOObjectFactory
    14:31:04,905 ERROR [STDERR] at java.lang.Class.newInstance0(Native Method)
    14:31:04,905 ERROR [STDERR] at java.lang.Class.newInstance(Class.java:237)
    14:31:04,905 ERROR [STDERR] at
    javax.naming.spi.NamingManager.getObjectFactoryFromReference(NamingManager.java:149)
    14:31:04,905 ERROR [STDERR] at
    javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:302)
    14:31:04,915 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:538)
    14:31:04,915 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:429)
    14:31:04,915 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:350)
    14:31:04,915 ERROR [STDERR] at
    com.ysoft.jdo.book.sayings.service.ejb.QuoteServerEJB.getConnectionFactory(QuoteServerEJB.java:423)
    14:31:04,915 ERROR [STDERR] at
    com.ysoft.jdo.book.sayings.service.ejb.QuoteServerEJB.ejbCreate(QuoteServerEJB.java:44)
    14:31:04,915 ERROR [STDERR] at java.lang.reflect.Method.invoke(Native Method)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.StatelessSessionEnterpriseContext.<init>(StatelessSessionEnterpriseContext.java:52)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.StatelessSessionInstancePool.create(StatelessSessionInstancePool.java:61)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.java:208)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:63)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:96)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:167)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:61)
    14:31:04,936 ERROR [STDERR] at
    org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:129)
    14:31:04,936 ERROR [STDERR] at
    org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)
    14:31:04,936 ERROR [STDERR] at
    org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:313)
    14:31:04,936 ERROR [STDERR] at org.jboss.ejb.Container.invoke(Container.java:705)
    14:31:04,936 ERROR [STDERR] at
    org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
    14:31:04,936 ERROR [STDERR] at
    org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:362)
    14:31:04,936 ERROR [STDERR] at java.lang.reflect.Method.invoke(Native Method)
    14:31:04,936 ERROR [STDERR] at
    sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
    14:31:04,936 ERROR [STDERR] at sun.rmi.transport.Transport$1.run(Transport.java:152)
    14:31:04,946 ERROR [STDERR] at java.security.AccessController.doPrivileged(Native Method)
    14:31:04,946 ERROR [STDERR] at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
    14:31:04,946 ERROR [STDERR] at
    sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:465)
    14:31:04,946 ERROR [STDERR] at
    sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:706)
    14:31:04,946 ERROR [STDERR] at java.lang.Thread.run(Thread.java:484)

    The next release of Kodo, which will be 2.3.0RC.
    In article <[email protected]>, David Ezzio wrote:
    Hi Marc,
    In the next release of Kodo? or JBoss? And next release for Kodo means the 2.3.0RC?
    David
    Marc Prudhommeaux wrote:
    David-
    The JBoss final 3.0 release seems to have changed how it accesses the
    ObjectFactory factory. This should be fixed in the next release.
    Sorry for all the trouble.
    In article <[email protected]>, David Ezzio wrote:
    Hi guys,
    The dereference issue in B4 (which is not in B3) is still in B5. The stack trace and my code (which
    is a hacked version of your code) is below.
    David Ezzio
    My code that looks for CF:
    private ConnectionFactory getConnectionFactory()
    // this the the JNDI name for the Kodo Resource
    // Adaptor that you will have configured in in
    // your application server
    String pmname = "java:/kodo";
    try
    MsgCenter.putMsg("Looking up jndi name: " + pmname);
    Object ob = new InitialContext().lookup(pmname);
    MsgCenter.putMsg("Casting to ConnectionFactory");
    ConnectionFactory fac = (ConnectionFactory) ob;
    MsgCenter.putMsg("ConnectionFactory type is: " + fac.getClass().getName());
    return fac;
    14:30:37,306 INFO [Server] JBoss (MX MicroKernel) [3.0.0 Date:200205311035] Started in 0m:46s:86ms
    14:31:04,895 INFO [STDOUT] Stateless QuoteServerEJB: ejbCreate called
    14:31:04,905 INFO [STDOUT] Looking up jndi name: java:/kodo
    14:31:04,905 ERROR [STDERR] javax.naming.NamingException: Could not dereference object. Root
    exception is
    14:31:04,905 ERROR [STDERR] java.lang.IllegalAccessException:
    com.solarmetric.kodo.impl.jdbc.ee.JDOObjectFactory
    14:31:04,905 ERROR [STDERR] at java.lang.Class.newInstance0(Native Method)
    14:31:04,905 ERROR [STDERR] at java.lang.Class.newInstance(Class.java:237)
    14:31:04,905 ERROR [STDERR] at
    javax.naming.spi.NamingManager.getObjectFactoryFromReference(NamingManager.java:149)
    14:31:04,905 ERROR [STDERR] at
    javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:302)
    14:31:04,915 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:538)
    14:31:04,915 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:429)
    14:31:04,915 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:350)
    14:31:04,915 ERROR [STDERR] at
    com.ysoft.jdo.book.sayings.service.ejb.QuoteServerEJB.getConnectionFactory(QuoteServerEJB.java:423)
    14:31:04,915 ERROR [STDERR] at
    com.ysoft.jdo.book.sayings.service.ejb.QuoteServerEJB.ejbCreate(QuoteServerEJB.java:44)
    14:31:04,915 ERROR [STDERR] at java.lang.reflect.Method.invoke(Native Method)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.StatelessSessionEnterpriseContext.<init>(StatelessSessionEnterpriseContext.java:52)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.StatelessSessionInstancePool.create(StatelessSessionInstancePool.java:61)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.java:208)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:63)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:96)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:167)
    14:31:04,925 ERROR [STDERR] at
    org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:61)
    14:31:04,936 ERROR [STDERR] at
    org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:129)
    14:31:04,936 ERROR [STDERR] at
    org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)
    14:31:04,936 ERROR [STDERR] at
    org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:313)
    14:31:04,936 ERROR [STDERR] at org.jboss.ejb.Container.invoke(Container.java:705)
    14:31:04,936 ERROR [STDERR] at
    org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
    14:31:04,936 ERROR [STDERR] at
    org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:362)
    14:31:04,936 ERROR [STDERR] at java.lang.reflect.Method.invoke(Native Method)
    14:31:04,936 ERROR [STDERR] at
    sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
    14:31:04,936 ERROR [STDERR] at sun.rmi.transport.Transport$1.run(Transport.java:152)
    14:31:04,946 ERROR [STDERR] at java.security.AccessController.doPrivileged(Native Method)
    14:31:04,946 ERROR [STDERR] at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
    14:31:04,946 ERROR [STDERR] at
    sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:465)
    14:31:04,946 ERROR [STDERR] at
    sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:706)
    14:31:04,946 ERROR [STDERR] at java.lang.Thread.run(Thread.java:484)--
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com
    Kodo Java Data Objects Full featured JDO: eliminate the SQL from your code
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com
    Kodo Java Data Objects Full featured JDO: eliminate the SQL from your code

Maybe you are looking for