Expand my Community achievements bar.

How is the 'import-packages' information saved in the database, and how long?

Avatar

Former Community Member
Hello,

I am  developping a ECM Connector for Adobe LiveCycle ES, which is a customized component.

1 - Who should I contact to have some specific support  ?

There is no detailed information yet on this on the adobe site  (http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/wwhelp/wwhimpl/js/html/wwhelp.htm?...) .

If you  think that I should address my problem to another department of Adobe, please  tell me which department?
I give you another description of my problem. In fact, I have  been investigating on it.

2 - If I  put this in my component.xml file, in step  1:

<component-id>com.rsd.adobe.livecycle.RSDFoldersConnector</component-id>
<version>1.0</version>
<import-packages><package  version="1.0">com.rsd.simpleApiFolders</package>  </import-packages>

If I change the  version to 1.1 and remove the  'import-packages' (in step 2) , will the new component need the  com.rsd.simpleApiFolders package. It seems that is still needs it.

3 - How is the  'import-packages' information saved in the  database, and how  long?

In  fact, on thursday, I used 'import-packages'  to make a test. And since them, I  can not deploy any of my components.

LiveCycle throws a  ClassNotFoundException.

ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException:  Internal error.
[java] at  com.adobe.idp.dsc.registry.component.impl.ComponentRegistryImpl$6.doInTransaction(ComponentRegistryImpl.java:338)
... Caused  by: java.lang.ClassNotFoundException: http-0.0.0.0-8080-1Class name  com.rsd.simpleApiFolders.Context from package com.rsd.simpleApiFolders not found.
[java] at  com.adobe.idp.dsc.DSContainerSearchPolicy.searchClassUsingParentFirst(DSContainerSearchPolicy.java:234)


Thank you in advance

Regards.

5 Replies

Avatar

Level 8

That would depend on your Adobe support contract and if your organization has a TAM assigned.  You should check with your organization's Adobe contact and see what support options your organization has purchased.

Having said that, this forum has a few people that may be able to help (but the forum does not have a SLA associated with it)


<component-id>com.rsd.adobe.livecycle.RSDFoldersConnector</component-id>
<version>1.0</version>
<import-packages><package  version="1.0">com.rsd.simpleApiFolders</package>  </import-packages>

If I change the  version to 1.1 and remove the  'import-packages' (in step 2) , will the new component need the  com.rsd.simpleApiFolders package. It seems that is still needs it.

If your component class needs the simpleApiFolders class then yes, you still need it.  Think of import-packages like a class-path statement (but with packages and not jars).  Its not physically moving the package into your application, but allowing you to access it from another container.

As far as I know they are not imported into the database. As I stated above, I believe that the import-packages just allows you to point to classes that are in the app server's classpath, but are not physically in you component jar file.  As long as that class is in the app server class-path (or in the Adobe EAR file) then you should be able to access it.  Is the jar file containing the simpleApiFolders class in the app server's lib directory?

Avatar

Former Community Member

Hello Hodmi,

Thank you for your answer, which is helpful.

It seems that you have already developped or installed many components...

1 - I will see with Adobe who can give me some specific support. My company is just negociating with Adobe this week.

2 - My component needs the classes in the com.rsd.simpleApiFolders package.

At the beggining of the component.xml file, I have:

    <component-id>com.rsd.adobe.livecycle.RSDFoldersConnector</component-id>
    <version>1.0</version>

    <class-path>lib/simpleApiFolders.jar</class-path>

    <supports-export>true</supports-export>

I have put the simpleApiFolders.jar file into the LIB directory of my component. So if I remove the <import-packages> element, I expected to have the classes in  com.rsd.simpleApiFolders loaded.

3 - Let's note that I also made a test: adding the dynamic-import-packages element

    <dynamic-import-packages>
        <package version="1.0" isOptional="true">*</package>
    </dynamic-import-packages>

I still get some ClassNotFoundException fior classes that are inside my component.

This is my situation.

Thank you

Avatar

Level 8

If you have the jar file in your component jar and the class-path points to it then you shouldn't need it also in the import-packages section.  Infact that might cause class cast exceptions or weird coersion errors due to two classes with the same name being loaded from two containers.

I'm not sure about the * in your dynamic-import-packages tag.  That doesn't look right to me.

Here is a part of one of my component.xml files where I use a couple of jar files that are in my component jar:

<component-id>com.unsupported.Base64Utils</component-id>
    <version>8.0.0</version>
    <supported-connectors/>
    <supports-export>true</supports-export>
    <class-path>lib/commons-codec-1.1.jar lib/livecycle-productivity-1.02.jar lib/commons-io-1.2.jar</class-path>
    <export-packages/>
    <services>

.......

Avatar

Former Community Member

Hello Hodmi,

I completely agree with you.

I must say that the behavior you explain should be the normal behavior.

It happens that I used the import-packages once, and then, I was not able to install my component afterwards.

So I removed the import-packages, but I could not install my component again.

Here is my scenario (I try to use your package names):

- I used  import-packages ONCE,

something like <import-packages><package version="1.0">org.apache.commons.io</package>  </import-packages>,

- and then I got an error because some other classes were not found.

- So I removed the import-packages element, but then I got an error with classes not found for the classes in org.apache.commons.io  .

This is why I think that something is saved somewhere. But I am goind to make some more tests.

PS: the * chatacter is authorized in the http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/wwhelp/wwhimpl/js/html/wwhelp.htm?... documentation.

Thank you very much.

Regards

Avatar

Former Community Member

Hello,

I finally solved my problem.

I changed the version of my component to 2.0.

    <component-id>com.mycompany.adobe.livecycle.RSDFoldersConnector</component-id>
    <version>2.0</version>

And then I could deploy it.

I had a look in the mysql database, and I saw that the services are saved in the database. There is a table for each service and the deletion of the services didn't solve my problem.

I think that the rules of import-packages are saved somewhere and not always updated...

Thank you everybody.