Maven dependencies for Transaction & OSGiUtils | Community
Skip to main content
Siva_Sogalapalli
Community Advisor
Community Advisor
October 13, 2017
Solved

Maven dependencies for Transaction & OSGiUtils

  • October 13, 2017
  • 15 replies
  • 5402 views

Hi All,

I'm following below forms resource and referring PDF Generator Service section on the page.

AEM 6.2 Forms Help | Using AEM Document Services Programmatically

I see the below piece of code. But I couldn't find package names/dependencies for Transaction & OSGiUtils class. 

Transaction tx = OSGiUtils.getTransactionManager().getTransaction();

    // Begin transaction

    if (tx == null)

        OSGiUtils.getTransactionManager().begin();

Please advise.

Thanks

Siva

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by smacdonald2008

Here is the information i got back from ENG.

OSGIUtils is an internal class which is not exposed but Transaction manager is a public java class which can be imported directly. It can be used directly and no forms dependency should be required for the same.

Transaction tx = OSGiUtils.getTransactionManager().getTransaction();

    // Begin transaction

    if (tx == null)

    OSGiUtils.getTransactionManager().begin();

Should be changed to

import javax.transaction.TransactionManager;

import javax.transaction.Transaction;

TransactionManager tmx = new TransactionManager();

Transaction tx = tmx.getTransaction();

    // Begin transaction

    if (tx == null)

    tmx.begin();

15 replies

smacdonald2008
Level 10
October 16, 2017

Looks like this JAR does not expose this API either.

smacdonald2008
Level 10
October 16, 2017

This looks like the POM dep for this API:

<!-- https://mvnrepository.com/artifact/javax.transaction/transaction-api -->

<dependency>

    <groupId>javax.transaction</groupId>

    <artifactId>transaction-api</artifactId>

    <version>1.1-rev-1</version>

    <scope>provided</scope>

</dependency>

https://mvnrepository.com/artifact/javax.transaction/transaction-api/1.1-rev-1

It would have been much easier if the PDF Gen code example showed all import statements as we do in HELPX articles.

vaibhavs7024655
Level 3
October 17, 2017

This is a Livecycle internal api for which the fully qualifed package is: com.adobe.aemds.bedrock.internal.OSGiUtils

​But not sure if it is a part of Uber jar or not.

smacdonald2008
smacdonald2008Accepted solution
Level 10
October 17, 2017

Here is the information i got back from ENG.

OSGIUtils is an internal class which is not exposed but Transaction manager is a public java class which can be imported directly. It can be used directly and no forms dependency should be required for the same.

Transaction tx = OSGiUtils.getTransactionManager().getTransaction();

    // Begin transaction

    if (tx == null)

    OSGiUtils.getTransactionManager().begin();

Should be changed to

import javax.transaction.TransactionManager;

import javax.transaction.Transaction;

TransactionManager tmx = new TransactionManager();

Transaction tx = tmx.getTransaction();

    // Begin transaction

    if (tx == null)

    tmx.begin();

October 24, 2019

Is this issue ever resolved? I tried this piece of code

import javax.transaction.TransactionManager;

import javax.transaction.Transaction;

TransactionManager tmx = new TransactionManager();Maven dependencies for Transaction &amp; OSGiUtils

Transaction tx = tmx.getTransaction();

    // Begin transaction

    if (tx == null)

    tmx.begin();

Still there is error saying, Cannot instantiate the type TransactionManager