[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Query on external class in Equionox framework

Thanks. I'll report this deadlock following that instruction.


I'm not familiar with how to use a newsgroup so I turned to this
mailing list for help. :)
Next time I'll post on that user's newsgroup.

2008/5/22, Danail Nachev <d.nachev@xxxxxxxxxx>:
> It seems there is some deadlock in which case a stack trace of the
> threads would be helpful. Checkout this document how to retrieve one:
>
> http://wiki.eclipse.org/How_to_report_a_deadlock
>
> BTW, your question is more suitable for the user groups.
>
> BR,
> --
> Danail Nachev
> Senior Software Engineer/Development Tools
> ProSyst Labs EOOD
> -------------------------------------------------
> stay in touch with your product.
> -------------------------------------------------
>
> Lucky wrote:
>> Hi all,
>>
>> One external class cannot run in Eclipse's OSGi framework well. It can
>> run independently as normal java, so I'm wondering whether there exist
>> some limitation in using external classes in an OSGi bundle.
>>
>> The problem is presented in detail as below:
>>
>> I'm intended to pack an existing external java class into a bundle of
>> standard OSGi. The class in experiment is from a project named Globus
>> GridFTP. The class is namely FTPClient, in a binary JAR file provided
>> by Globus organization. And I added reference of this JAR file, and
>> imported the package.
>>
>> However, when execute the program, the execution get blocked on the
>> construction function of one external class.
>> //CODE:
>> try{
>> 		System.out.println("Caught host="+host+" port="+port+" new object");
>> 		FTPClient thisClient = new FTPClient(host,port); //Blocked on this line
>> 		System.out.println("FTPClient created"); //This line never reached
>> after a long time
>> 		}
>> 		catch (Exception ex)
>> 		{
>> 			System.out.println("Caught exception in service."); //This line
>> never reached after a long time.
>> 		}
>>
>> FTPClient is an external class imported from a Globus JAR file. The
>> above code snip is from a function in a bundle's service
>> implementation. When calling this service from another bundle,
>> execution seems get dead-looped on the construction function, and
>> neither its following statement or the catch clause was hit. It is
>> definitly not because there's a time-out in the constructor, becasue
>> (1) I wait it for a very long time (approx. 1hour and it's still
>> there). (2) When running these statements in a normal Java program(not
>> under OSGi framework or as a bundle), the constructor could execute
>> smoothly and immediately returned.
>>
>> Thus, I'm wondering that is there currently some limitation in using
>> external classes under OSGi framework and as a bundle. Consider this
>> class (FTPClient) is dealing with network, I'm wondering whether
>> there're some specific requirements for external classes running
>> inside a bundle, particularly consider the network operations.
>>
>> I'll at the same time deliver my query to the Globus side. However, as
>> they're not dealing with  OSGi development, and their classes in JARs
>> could running correctly outside OSGi bundle, I think my primary
>> problem should be the lack of knowledge of Equinox implementation of
>> OSGi, not of that FTPClient class.
>>
>> My Eclipse version: 3.2.0
>> org.eclipse.osgi package version: 3.3.2.R33x_v20080105
>> Globus JAR version: cog-jglobus.jar : ver 1.4
>>
>> Thanks very much.
>>
>>
>> Warm Regards,
>> Ji Li,
>> May,22,2008
>> _______________________________________________
>> equinox-dev mailing list
>> equinox-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>>
>>
> _______________________________________________
> equinox-dev mailing list
> equinox-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>