5 Replies Latest reply on Jun 29, 2009 3:13 AM by user2222

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

    user2222 Level 1
      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  ?


      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(Compone ntRegistryImpl.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(DSContainerSearchPo licy.java:234)


      Thank you in advance

      Regards.

        • 1. Re: How is the 'import-packages' information saved in the database, and how long?
          Hodmi Level 4

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

          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)

           


          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.

          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.

           

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

           

          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?

          1 person found this helpful
          • 2. Re: How is the 'import-packages' information saved in the database, and how long?
            user2222 Level 1

            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

            • 3. Re: How is the 'import-packages' information saved in the database, and how long?
              Hodmi Level 4

              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>

              .......

              • 4. Re: How is the 'import-packages' information saved in the database, and how long?
                user2222 Level 1

                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/w whelp.htm?href=000931.html&accessible=true   documentation.

                 

                 

                Thank you very much.

                Regards

                • 5. Re: How is the 'import-packages' information saved in the database, and how long?
                  user2222 Level 1

                  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.