ANN: Spring 1.2 with TopLink Integration Released

Version 1.2 of the Spring Framework has been released. New in the 1.2 final release is support for TopLink "out of the box". Prior to 1.2, TopLink support was an "add on" that was available on OTN. Now Spring ships with the integration code required to use TopLink as a persistence provider. TopLink 10.1.2 (9.0.4) and 10.1.3 (preview) are supported.
To get started, try out the Pet Clinic sample app configured to use TopLink.
NB: Spring doesn't include TopLink; it provides the necessary integration classes. You still need to download both Spring and TopLink.
- Shaun
Spring Home page: http://www.springframework.org
Spring 1.2 Announcement: http://www.springframework.org/node/86

Version 1.2 of the Spring Framework has been released. New in the 1.2 final release is support for TopLink "out of the box". Prior to 1.2, TopLink support was an "add on" that was available on OTN. Now Spring ships with the integration code required to use TopLink as a persistence provider. TopLink 10.1.2 (9.0.4) and 10.1.3 (preview) are supported.
To get started, try out the Pet Clinic sample app configured to use TopLink.
NB: Spring doesn't include TopLink; it provides the necessary integration classes. You still need to download both Spring and TopLink.
- Shaun
Spring Home page: http://www.springframework.org
Spring 1.2 Announcement: http://www.springframework.org/node/86

Similar Messages

  • Problems with Toplink integration with JTS and WSAD

    We have a very strange problem.
    Description:
         We are attempting to integrate with JTS, insuring that TopLink does its transactional activity within the scope of a JTS transaction, as described in the Foundation Library Guide.
         We have a stateless session bean, a method of which implements a simple "insert" on a database table registerObject() on a unit of work). This bean is configured to use bean-managed transactions, but with a default resolver of rollback.
         The bean is launched in the WSAD test environment.
         When the bean method is invoked from the WSAD Universal Test Client (web app that runs in the same app server allowing discovery and unit test of bean methods), the code works. A row is inserted into the table, etc.
         Same code, same method, same (stateless) bean, same instance of the WSAD test environment, if the bean method is invoked from outside the application server (via a JUnit test driver that discovers the session bean via JNDI), the code breaks. The final JTS commit catches a javax.transaction.RollbackException, apparently without any sort of stack trace tacked to the exception printStackTrace() doesn't result in anything). No row is inserted.
         We can call the bean alternately, via these two approaches, under the same instance of test environment, and get different behavior.
         We don't understand. All (hopefully) of the relevant details follow.
    We are using:
         WSAD Version: 5.0.1 Build id: 20030423_1316
         TopLink - 9.0.3.3 (Build 430)
         Oracle 9i
    From our sessions.xml:
         <login>
              <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
              <datasource>project</datasource>
              <platform-class>oracle.toplink.internal.databaseaccess.OraclePlatform</platform-class>
              <uses-external-connection-pool>true</uses-external-connection-pool>
              <uses-external-transaction-controller>true</uses-external-transaction-controller>
         </login>
         <external-transaction-controller-class>oracle.toplink.jts.was.JTSExternalTransactionController_5_0</external-transaction-controller-class>
    From our project XML:
         <uses-external-connection-pooling>true</uses-external-connection-pooling>
         <uses-external-transaction-controller>true</uses-external-transaction-controller>
    The code that breaks:
         SessionManager sm = SessionManager.getManager();
         Server ss = (Server) sm.getSession("project", TestBean.class.getClassLoader());
         ClientSession cs = ss.acquireClientSession();
         Context c = new InitialContext();
         UserTransaction t = (UserTransaction) c.lookup("java:comp/UserTransaction");
         t.begin();
         UnitOfWork u = ss.getActiveUnitOfWork();
         u.registerObject(value);
         u.commit();
         t.commit(); /* this throws javax.transaction.RollbackException */
    Thanks.

    Strange problem, could be a Websphere issue, or an issue with the JTSExternalTransactionController_5_0.
    Try configuring TopLink to not use JTS and see if the same problem still occurs. Also turn on TopLink logging and exception logging and your Websphere server logging to see if you can get the real exception and stack that is causing the RollbackException.
    This could be an issue with the JTSExternalTransactionController_5_0 as the original version of the controller did have a JTS issue. Make sure you are no the latest patch and check with support to see if they have a patch for this problem.

  • When will Spring-Toplink integration be officially released in Spring

    I notice from previous emails that Spring-Toplink integration will eventually be part of the Spring framework itself (similair to existing Hibernate, iBatis, JDO integration). Can you tell me when this will occur? What version of Spring is being targeted?
    thankyou,
    Chris

    Chris,
    The work is going on right now to have the work checked in and included in Spring 1.2.
    Doug

  • Spring TopLink Integration Preview Updated

    The preview of the Spring TopLink Integration support has been updated on OTN. Changes are described in the release notes.
    Also check out the OTN article Of Persistence and POJOs: Bridging the Object and Relational Worlds on using TopLink with Spring by Rod Johnson and Jim Clarke.

    You will not have to change any java code when you switch "transaction controller" strategies in your Spring beans.xml file.
    When you talk about "the way you use the UnitOfWork in your code", you're talking about the section in the "Transactions" chapter called "External Transaction Controllers" right? In any case, the differences at the java level, are essentially that you acquire an "active" UnitOfWork (getActiveUnitOfWork) and that you no longer explicitly commit the UnitOfWork.
    Neither of these two differences impacts your use of TopLink within Spring. In Spring, the transaction is always managed by a Spring PlatformTransactionManager so your TopLink code will never call commit, whether you're using an ExternalTransactionController or not. The code will be identical whether you're running in J2SE or J2EE.
    Also, since we expect users to access TopLink either through a TopLinkTemplate or through a TopLinkInterceptor, the Spring container will always "inject" a TopLink Session that is aware of whether or not there is currently an ExternalTransactionController. So, there will be no difference between the behavior of acquireUnitOfWork and getActiveUnitOfWork. Both will behave identically. They will return you the UOW currently associated with the current Spring PlatformTransactionManager. So, there is no environmental dependency here either.
    JIM

  • Error while deploying Spring PetClinic Demo App(with Toplink OR )on OC4J

    Hi All,
    I am trying to deploy sample app provided with spring framework on oc4j with Toplink as my OR layer, but i am facing issues with the deployment
    App fails to start with error finding "org.springframework.orm.toplink.support.CommonsLoggingSessionLog"
    this is found in toplink-applicatio context.xml file
    i found that this class is missing in spring framework.
    please help to get the jar files
    Thanks
    Raghavendra

    i got the class files. actually in 10.1.3 these class files are put in a different jar file spring-toplink.jar
    The Main issue here is that 10.1.3 toplink production is yet to be integrated into spring 2.
    petClinic will work fine if we use 10.1.3 developer preview edition
    Thanks
    Raghavendra

  • Spring-TopLink Integration and transparent transaction controller

    Hi,
    I'm new to TopLink and I read the article in the "Mastering J2EE" series about the Spring TopLink integration. I never actually got into Spring before, so I went and checked out the articles and tutorials and then I went back to my exploration of TopLink.
    From what I understood, Spring promises that you wouldn't need to change your code, only your configuration files, if you change your transaction controller from the OR framework transaction controller to a JTA enabled one provided by the AS. But when I read the "Transactions" chapter in the TopLink application developer's guide, it seemed that the way you use the UnitOfWork in your code differs significantly depending on whether you're using an external transaction controller.
    My question is, does this void Spring's promise or is there a work around for that?
    Thanks.

    You will not have to change any java code when you switch "transaction controller" strategies in your Spring beans.xml file.
    When you talk about "the way you use the UnitOfWork in your code", you're talking about the section in the "Transactions" chapter called "External Transaction Controllers" right? In any case, the differences at the java level, are essentially that you acquire an "active" UnitOfWork (getActiveUnitOfWork) and that you no longer explicitly commit the UnitOfWork.
    Neither of these two differences impacts your use of TopLink within Spring. In Spring, the transaction is always managed by a Spring PlatformTransactionManager so your TopLink code will never call commit, whether you're using an ExternalTransactionController or not. The code will be identical whether you're running in J2SE or J2EE.
    Also, since we expect users to access TopLink either through a TopLinkTemplate or through a TopLinkInterceptor, the Spring container will always "inject" a TopLink Session that is aware of whether or not there is currently an ExternalTransactionController. So, there will be no difference between the behavior of acquireUnitOfWork and getActiveUnitOfWork. Both will behave identically. They will return you the UOW currently associated with the current Spring PlatformTransactionManager. So, there is no environmental dependency here either.
    JIM

  • Spring-TopLink Integration Available

    A preview of our integration with Spring is available now.
    http://www.oracle.com/technology/products/ias/toplink/preview/spring/index.html
    We are working on contributing this into Spring and hope to have it available from the Spring Framework website in the future.
    As always, your feedback is appreciated via this forum,
    Doug

    You will not have to change any java code when you switch "transaction controller" strategies in your Spring beans.xml file.
    When you talk about "the way you use the UnitOfWork in your code", you're talking about the section in the "Transactions" chapter called "External Transaction Controllers" right? In any case, the differences at the java level, are essentially that you acquire an "active" UnitOfWork (getActiveUnitOfWork) and that you no longer explicitly commit the UnitOfWork.
    Neither of these two differences impacts your use of TopLink within Spring. In Spring, the transaction is always managed by a Spring PlatformTransactionManager so your TopLink code will never call commit, whether you're using an ExternalTransactionController or not. The code will be identical whether you're running in J2SE or J2EE.
    Also, since we expect users to access TopLink either through a TopLinkTemplate or through a TopLinkInterceptor, the Spring container will always "inject" a TopLink Session that is aware of whether or not there is currently an ExternalTransactionController. So, there will be no difference between the behavior of acquireUnitOfWork and getActiveUnitOfWork. Both will behave identically. They will return you the UOW currently associated with the current Spring PlatformTransactionManager. So, there is no environmental dependency here either.
    JIM

  • My problem with Toplink upgrade from 2.5.1 to Release 2

    Hi:
    I met some confusions in upgrading our system from TOPLINK2.5.1 to TOPLINK Release 2(Oracle9.0.3).
    And because I didn't use TOPLINK tools before this project, I spent one week to know the structure of our system. Unfortunately, Our company isn't a supported Oracle customer. We just bought Oracle product, didn't buy support service.
    First of all, I'll describ our system structure. The system is Weblogic5.1 + Toplink 2.5.1 + Oracle8.1 .Using Toplink we mapping our EJB to Oracle. The results of this procedure aremany .table, .descriptor, .topclass under the mapping forlder, and weblogic-ejb-jar.xml, topling-cmp-XX.xml, ejb-jar.xml under the deploy forlder. That's all.
    So, after our ant-build, we copy these results to Weblogic server directory, and compile with EJB, deploy them. It's correct?
    OK, as my considering, I install TOPLINK Release 2 , use Renamer tool to rename my source code from old TOPLINK library to oracle.toplink, complie them again. And create new project in TOPLINK 9.0.3 , import classes, login Database correctly. Do mapping as in TOPLINK2.5.1. Generate packagename.ClassDescriptor.xml under Descriptor, forlder ClassRepository, Class, Table, Database generate xml files also.
    Do the above process correct? OK, let's assume it' correct. But how can I modify my ant-build , you know the structure is difference between Weblogic 5.1 and Weblogic 6 or 7. Additionally, I don't know where should I copy new TOPLINK library to Weblogic directory. Yes, I know old TOPLINK library location, but I think it has difference.
    So , please tell me I can use Weblogic5.1 + TOPLINK 9.0.3 + Oracle 8.1 , is it right? I will be appreciated if you can give me some detail steps in upgrading TOPLINK.
    And perhaps we need to upgrade out system from TOPLINK 2.5.1 to TOPLINK 4.x first?
    Thanks for your view.
    Yours
    Denver Yang
    Software Engineer

    Hello Denver,
    If you are using CMP Entity Beans then TopLink 903 supports WebLogic 6.1 and 7.0. You would have to upgrade your WebLogic version at the same time you upgrade TopLink.
    If you are using Java Objects (not CMP Entity Beans), then you can use any version of any app server with TopLink.
    If you migrate from 2.5.1 to 903, you can send your project to support and they will update it. If you are not a supported customer, then you will have to do this manually (meaning you will have to remap in 903 from brand new).
    You are correct that your build process will be different when you migrate, but this will be because of how WebLogic has changed deployment and how the EJB spec has evolved moreso than anything to do with TopLink. How to do deployment in 903 should be in the TopLink 903 docs.
    Hope this helps,
    - Don

  • Anything fixed in Oracle TopLink 11g Release 1 (11.1.1.1.0) ?

    Was there anything fixed in Oracle TopLink 11g Release 1 (11.1.1.1.0) ?
    I don't see anything in release notes ( http://www.oracle.com/technology/products/ias/toplink/doc/11110/relnotes/toplink-relnotes.html ) regarding fixes. Anybody know where I can get that info? We have run into a couple of issues in the previous 11g release (11.1.1.0.1) and want to know if those issues have been addressed in the new release.
    Thanks!

    The two major areas of work in 11gR1 (11.1.1.1.0) are enhancements to EclipseLink included with the its 1.1.1 release as well as enhancements around TopLink Grid (JPA-Coherence integration).
    The EclipseLink 1.1.1 fixes are documented here: http://wiki.eclipse.org/EclipseLink/Release/1.1.1
    Doug

  • WebSphere Portal 6.1 SSO problem with Business Objects Release 3 server.

    Have anybody successfully integrated SSO between WebSphere Portal 6.1 BO portlet with Business Object release 3 server ?? If so please help. I have followed the steps in BO documentation (Portal Integration Kit for WebSphere) but when I logged on to portal I get the following error message
    Auto signon to the BusinessObjects Enterprise infrastructure at hostname  failed. Contact your reporting administrator for assistance." message

    Anybody still looking for a solution following the below guides.
    http://help.sap.com/businessobject/product_guides/boexir31SP3/en/xi31_sp3_pik_adminportlet_en.pdf
    Replace secEnterprise with secLDAP in below guide for LDAP Automatic Sign
    http://help.sap.com/businessobject/product_guides/boexir3/en/xi3_pik_deploy_ibm_en.pdf

  • Problems with accounting integration cProjects

    Dear Sirs,
    I have some problems with accounting integration between my cProjects 3.10 and my ECC 5.0 system. I have followed the steps in the configuration guide as good I as can. However when I create a project, and go the accounting tab I get the following error:
    The project is unknown in Accounting
    Message no.
    DPR_FIN_GECCO006
    Diagnosis
    Etc..
    In the Cockpit for Controlling Integration I can see the following error at the time the project is created, and a new similar error is created when the status is set to released – replicated.
    No company code could be determined. Message No IAOM_CPROJECTS001. 
    In this message there is a reference to the fact that the company code can be set in the assigned model order for CPR1. I have created such a model order with a reference to company code 0100 for CPR1. However this does not seem to do the job.
    I seem to be stuck, as I have tried every possible and unpossible lead to get any further. Any input for someone with the knowhow is highly appreciated.
    Best regards,
    Jørgen Ruud

    Hello Jørgen,
    It sounds strange, normally after create a model order and assigned to the scenario CPR1, then the determination of company code should work.
    logic: CPR1 -> model order -> company code
    Would you please try the note 875275, if it can help.
    In case that it does not help, you can eithter use the Badi method  to set it hardly, or create a customer message to let SAP check it.
    name of Badi DPR_FIN_GECCO_ATTR
    code like following:
          ls_attribute-data_element     = space.
          ls_attribute-value            = '1000'. 
          ls_attribute-field_name_orext = 'BUKRS'.
          ls_attribute-fldname_receiver = space.
          ls_attribute-struc_name_copa  = space.
          ls_attribute-field_name_copa  = space.
          ls_attribute-ext_attr_name    = space.
          ls_attribute-ext_attr_value   = space.
          INSERT ls_attribute INTO TABLE ct_attributes.
    regards!
    Zhenbo

  • Problems with toplink in a ROLAP application - please , I need help

    Hello,
    I am not too much experieced with toplink but I want use it for building a ROLAP (relational OLAP) client (something like Discoverer Plus) . Because of an database bug , Oracle Warehouse Builder can not generate materialized views creation scripts that help in agregation . This bug wiil be eliminated in 11gR2 database . OWB generate these materialized views creation scripts in a clob column of database but these scripts is not valid. These scripts can be extracts from database , corect and run .
    This ROLAP-enabled schema is a star schema (a fact table in center sourounded by dimensions tables , with FK in these tables) generated by OWB . It does not have a PK associated with fact table.
    Because of this fact , when I try to generate a status report of map associttiaded with tables from schema , I receive this
         Descriptor SalesCube -> No primary keys specified in SSB.SALES_CUBE table.
    Discoverer Plus does not complain about this PK missing, but it knows fact tables does not have PK .
    Please give an ideea,
    TIA.
    Aurel

    I am using jdeveloper 10.1.3.1 and I get the following error :
    Exception [TOPLINK-6044] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.QueryException Exception Description: The primary key read from the row [DatabaseRecord( ORG_DIM_V.FARMACIE_NUME_FARMACIE => Titan 1 => 357142.3)] during the execution of the query was detected to be null. Primary keys must not contain null. Query: ReadAllQuery(app5.model.OrgDimV); nested exception is: Exception [TOPLINK-6044] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.QueryException Exception Description: The primary key read from the row [DatabaseRecord( ORG_DIM_V.FARMACIE_NUME_FARMACIE => Titan 1 => 357142.3)] during the execution of the query was detected to be null. Primary keys must not contain null. Query: ReadAllQuery(app5.model.OrgDimV)
    and ,of course, I have a primary key , but on the column ORG_DIM_V.DIMENSION_KEY .
    ORG_DIM_V is o view on the table ORG_DIM and I build PK with this two statements:
    ALTER VIEW SSB.ORG_DIM_V ADD CONSTRAINT org_dim_v_pk PRIMARY KEY (DIMENSION_KEY) disable novalidate
    ALTER VIEW SSB.ORG_DIM_V MODIFY CONSTRAINT org_dim_v_pk RELY
    What's happining?
    Many thanks,
    Aurel

  • DatabaseLogin.usePlatform with Toplink 11

    Hi,
    We currently have our system setup with toplink 10, we do spatial queries so are looking at moving to toplink 11.
    I have changed the jar files and fixed compilation errors due to package changes.
    We also use spring with the following xml
    <bean id="sessionFactory" class="org.springframework.orm.toplink.LocalSessionFactoryBean">
    <property name="configLocation" value="sessions.xml"/>
    <property name="databasePlatform">
    <bean class="oracle.toplink.platform.database.oracle.Oracle10Platform"/>
    </property>
    <property name="sessionLog">
    <bean class="oracle.toplink.logging.DefaultSessionLog"/>
    </property>
    </bean>
    On starting the server (OC4J) I get the following error:
    Error creating bean with name 'accessControlDao' defined in class path resource [applicationContext-dao.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with
    name 'sessionFactory' defined in class path resource [applicationContext-dao.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: oracle.toplink.sessions.DatabaseLogin.usePlatform(Loracle/toplink/internal/databaseaccess/DatabasePlatform;)V
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
    Looks to me like toplink 11 doesn't have the method oracle.toplink.sessions.DatabaseLogin.usePlatform, what should I us instead?
    I hope this isn't too vague and that someone can help.
    Thanks in advance.
    Phil Maskell
    Edited by: maskellp on Feb 2, 2009 11:22 AM

    There is still a usePlatform method, you probably just need to recompile the code (super-type changed).
    You may also consider upgrading to EclipseLink.
    James : http://www.eclipselink.org

  • Activation of CRM RDS with ERP integration impact on existing ERP configuration

    Hi,
    I'm doing automatic content activation (via Solution Builder) of the CRM RDS solution with ERP integration. The CRM system is a new installation which will linked to an existing ERP system.
    Will the activation of RDS Solution content overwrite the existing configuration in ERP? What is impact of on existing configuration and existing process on ERP?
    Regards,
    SK

    1. The add-on seems to support all new versions of ECC, does this include ECC on HANA ? --> The add-on supports all release of ECC above the base release mentioned in the Integration guide, including ECC on HANA
    2. Is it necessary to backup the environment before installing the add-on ? --> The Add-On does not contain any DB tables. It should not interfere with the ECC environment, so you can install these without any disruption or downtime. As part of general hygiene, you may want to make sure that there is a recent enough backup for the ECC system.
    3. The component seems to be isolated from impacting any ECC functionality and its just for the purpose of integrating C4C with ECC. Would this mean that no regression testing is required in ECC ?
    No regression testing is required for ECC standard functionality. It will not affect existing distribution models. You will have to set up new ones for Cloud for Customer Integration scenarios.
    4. The component doesn't seems to have an uninstall option which would meant that any reverts could only be done through system backup only. Is this accurate ? --> There is no uninstall option.

  • Missing Descriptior with Toplink 1013 and Jdev 1013

    Hi guys,
    I keep getting the following error when I try to run my project:
    Exception [TOPLINK-6007] (Oracle TopLink - 10g release 3 (10.1.3.0.0) (Build 050912)): oracle.toplink.exceptions.QueryException
    Exception Description: Missing descriptor for
    The project is a Web Application with a Model and View/Controller projects. The Model has a Toplink project in it and I created the mappings, classes, and the sessions.xml for it.
    What am I doing wrong? This seems to work in Jdev 1012.

    * Does the sample client work ok when you use sessions.xml?
    * What is the sequence of steps you are taking to create view project and in which project you are getting the errors? A detailed sequence of steps will be helpful in reproducing this issue.
    * If you are running into this issue in your view project using ADF and your use case simply involves reading objects, perhaps you can try writing a plain sample client in java yourself to simulate the use case and see whether this client works.
    Also
    * Take a look at my response to your other question at Mutliple writeable mappings in Jdev 1013 and setup your mappings correctly.
    * If you are running into this issue in the view project with the use of ADF, then try regenerating the datacontrol and recreating your view project. Make sure your logging in the sessions.xml is turned on.
    Hope this helps.

Maybe you are looking for

  • Crash Restarts - Varying Opinions from Genius Bar

    I'm experiencing intermittent Restarts and have been in to the Genius Bars several times and get different opinions on the issue. I've been told my hard drive was going, so I relaced it. Didn't fix it. I was then told it was a software issue caused b

  • How to connect Canon MP470 with USR5461 Print Server on Leopard 10.5

    The main problem I had with adding this printer is that the drivers from Canon's website do not work. Do not download and use the CUPS driver provided from Canon. You need to use this driver which should be included on your MacBook: Canon PIXMA MP150

  • Manual Task Assigment  in Customer Support.

    We are running release 12.0 of the Teleservice HTML Module or Oracle Customer Support.My Customer wants the flexibility of generating tasks and assigning them to owners both manually and automatically.I've been able to successfully generate tasks aut

  • Z60m: Touchpad stopped working.

    Hello all, just recently the touchpad on my Z60m (2529-FZU) stopped working. It is turned on under BIOS but under Windows (with drivers and utility installed) it tells me the software needs to be installed. I tried uninstalling and reinstalling it bu

  • The serial number I was given is "invalid" when I try to install my Lightroom download.

    I bought and downloaded Lightroom, but when I try to install it and activate it, I type in the serial number I was given but it says it's "invalid". Help!