Glassfish 3.1.1 + seam config
umajeric Sep 26, 2011 2:11 PMI have a problem with Seam Config in Glassfish 3.1.1 (clean installation). When configuring a bean StoreFileSource which is placed inside other jar as a dependency - property 'storeDirectory' is not set. When completely the same class is placed in current project it works fine - as it should (property is set etc.). Bean is initialized fine in both cases (new instance with every request etc.).
I have a following configuration in beans.xml
... xmlns:fs="urn:java:my.company.package" ... <fs:StoreFileSource> <s:replaces /> <s:RequestScoped /> <fs:LocalStore /> <s:Named/> <fs:storeDirectory>/tmp/local-store/</fs:storeDirectory> </fs:StoreFileSource>
And a bean which implements an interface:
package my.company.package; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class StoreFileSource implements FileSource { private String storeDirectory; // Other business logic public void setStoreDirectory(String storeDirectory) { this.storeDirectory = storeDirectory; } public String getStoreDirectory() { return storeDirectory; } }
package my.company.other.package; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public interface FileSource { // Business methods... }
Exactly the same example works in jetty 8.0.1.v20110908. Just like it should.
Then again I tried the same class initialization with constructor parameter and Virtual Producer Fields:
<s:String> <s:Produces/> <gea:LocalStore /> <s:value>/tmp/local-store/</s:value> </s:String> <fs:StoreFileSource> <s:replaces /> <s:RequestScoped /> <fs:LocalStore /> <s:Named/> <s:parameters> <s:String> <s:Inject /> <fs:LocalStore /> </s:String> </s:parameters> </fs:StoreFileSource>
I am getting an exception when deploying the application:
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [String] with qualifiers [@LocalStore] at injection point [[field] @LocalStore @Inject private my.company.package.StoreFileSource.storeDirectory]
And once again the same configuration works fine with Jetty.
Did anyone experienced the same problems or is this a bug in Glassfish or somewhere else?
Thanks for help,
Uros