Re: [seam-dev] Seam Startup Performance
by Mark Struberg
Folks, what if we step back and fix the CORE of this disaster?
Lets not pickup non CDI scope annotated beans as @Dependent automatically anymore!
We could automatically enable this feature if we detect a version="1.1" in beans.xml. This way we can keep backward compatibility
LieGrue,
strub
--- On Fri, 7/8/11, Dan Allen <dan.j.allen(a)gmail.com> wrote:
From: Dan Allen <dan.j.allen(a)gmail.com>
Subject: Re: [seam-dev] Seam Startup Performance
To: "Stuart Douglas" <stuart.w.douglas(a)gmail.com>
Cc: "Seam Dev List" <seam-dev(a)lists.jboss.org>
Date: Friday, July 8, 2011, 11:45 PM
On Fri, Jul 8, 2011 at 19:27, Stuart Douglas <stuart.w.douglas(a)gmail.com> wrote:
Hi Guys,
I was just looking at the startup performance of the Seam 3 booking example on AS7, and I noticed that because the Seam 2 archives that it deploys are bean archives, it actually wastes quite a lot of time on startup registering Seam 3 classes as CDI beans that are never used.
It occurred to me that we can get around this by using a beans.xml that includes welds <scan> extension in beans.xml to prevent uneeded beans being registered we could significantly improve the performance and memory usage of Seam 3 apps.
Now that the ridiculous visibility and extensions in non-bean archive problems are resolved, I'm in favor of switching back to registering beans manually rather than using beans.xml. That seems like a performance enhancement that's portable, so that we don't suck if Weld isn't the provider.
But I agree we should do one of the two options. We'll be moving tests around in Seam to align the setup, so it seems like a good time to run tests with the updated bean registration strategy.
-Dan
--
Dan AllenPrincipal Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597
http://www.google.com/profiles/dan.j.allen#about
http://mojavelinux.com
http://mojavelinux.com/seaminaction
-----Inline Attachment Follows-----
_______________________________________________
seam-dev mailing list
seam-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/seam-dev
12 years, 9 months
Seam Startup Performance
by Stuart Douglas
Hi Guys,
I was just looking at the startup performance of the Seam 3 booking example on AS7, and I noticed that because the Seam 2 archives that it deploys are bean archives, it actually wastes quite a lot of time on startup registering Seam 3 classes as CDI beans that are never used.
It occurred to me that we can get around this by using a beans.xml that includes welds <scan> extension in beans.xml to prevent uneeded beans being registered we could significantly improve the performance and memory usage of Seam 3 apps.
Stuart
12 years, 9 months
Re: [seam-dev] Seam Startup Performance
by Mark Struberg
Of course, we'd first need to do a performance evaluation to see if it would help a lot.
In OpenWebBeans we did it 'half way' now. Whenever we detect that a class doesn't have any Scope annotation (directly or indirectly via an @Stereotype), nor any @Inject or @Produces inside, we only initialize the bean meta info as an empty shale. And if it gets injected into another bean later, we just initialize this bean lazily.
Of course, this trick didn't help that much with scanning performance (maybe ~15%), but it greatly reduced the memory footprint.
Btw, we really should spec the exclude paths in beans.xml. I now found the regarding issue already filed in
https://issues.jboss.org/browse/CDI-87
I added a proper description, but Pete, could you please edit the title and give it a more meaningful text? :)
LieGrue,
strub
--- On Sat, 7/9/11, Lincoln Baxter, III <lincolnbaxter(a)gmail.com> wrote:
From: Lincoln Baxter, III <lincolnbaxter(a)gmail.com>
Subject: Re: [seam-dev] Seam Startup Performance
To: "Mark Struberg" <struberg(a)yahoo.de>
Cc: "Stuart Douglas" <stuart.w.douglas(a)gmail.com>, "Dan Allen" <dan.j.allen(a)gmail.com>, "Seam Dev List" <seam-dev(a)lists.jboss.org>
Date: Saturday, July 9, 2011, 11:00 PM
At this point, I think that may actually be a good option. I can't get forge to start up in under 8 seconds anymore. I'm all for doing this I suppose, though it will be a bit of a departure from the current functionality. I like the auto-pickup, but this performance is pretty attrocious :(
On Sat, Jul 9, 2011 at 8:40 AM, Mark Struberg <struberg(a)yahoo.de> wrote:
Folks, what if we step back and fix the CORE of this disaster?
Lets not pickup non CDI scope annotated beans as @Dependent automatically anymore!
We could automatically enable this feature if we detect a version="1.1" in beans.xml. This way we can keep backward compatibility
LieGrue,
strub
--- On Fri, 7/8/11, Dan Allen <dan.j.allen(a)gmail.com> wrote:
From: Dan Allen <dan.j.allen(a)gmail.com>
Subject: Re: [seam-dev] Seam Startup Performance
To: "Stuart Douglas" <stuart.w.douglas(a)gmail.com>
Cc: "Seam Dev List" <seam-dev(a)lists.jboss.org>
Date: Friday, July 8, 2011, 11:45 PM
On Fri, Jul 8, 2011 at 19:27, Stuart Douglas <stuart.w.douglas(a)gmail.com> wrote:
Hi Guys,
I was just looking at the startup performance of the Seam 3 booking example on AS7, and I noticed that because the Seam 2 archives that it deploys are bean archives, it actually wastes quite a lot of time on startup registering Seam 3 classes as CDI beans that are never used.
It occurred to me that we can get around this by using a beans.xml that includes welds <scan> extension in beans.xml to prevent uneeded beans being registered we could significantly improve the performance and memory usage of Seam 3 apps.
Now that the ridiculous visibility and extensions in non-bean archive problems are resolved, I'm in favor of switching back to registering beans manually rather than using beans.xml. That seems like a performance enhancement that's portable, so that we don't suck if Weld isn't the provider.
But I agree we should do one of the two options. We'll be moving tests around in Seam to align the setup, so it seems like a good time to run tests with the updated bean registration strategy.
-Dan
--
Dan AllenPrincipal Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597
http://www.google.com/profiles/dan.j.allen#about
http://mojavelinux.com
http://mojavelinux.com/seaminaction
-----Inline Attachment Follows-----
_______________________________________________
seam-dev mailing list
seam-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/seam-dev
_______________________________________________
seam-dev mailing list
seam-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/seam-dev
--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"
12 years, 9 months
Issue resolved with JBoss AS 7 CR1 and Seam Social
by Antoine Sabot-Durand
Hi all,
Just to let you know I managed to run social Web App example with Jboss 7-CR1. The trick was to have 2 beans.xml file. One in META-INF for Seam-Config to read beans configuration and one in WEB-INF in order to having the server exposing CDI bean for JSF view. I drop the Seam-Faces and its dependency Seam-International since I don't need them and they cashed the deployment.
If I put config info in WEB-INF/beans.xml, Seam-Config doesn't read them and if I don't put beans.xml in WEB-INF my JSF views don't access CDI bean (LE doesn't trigger any code). I don't know if it's the expected behavior for Seam-Config to read beans.xml only in META-INF....
Antoine SABOT-DURAND
12 years, 9 months
Deployment issues with JBoss 7 CR1
by Ove Ranheim
Hi,
The speed improvement of JBoss 7 is just beyond awesome and no words could cover my excitement to this fantastic piece of engineering work.
During this weekend I tried to get my project deployed in JBoss 7 and it looks like I'm close to a success. I'd like to share my experience and point out where it fails for me.
Deployment assembly looks like:
* 16 project extensions related to my project (my project is named parts)
* Uses Weld 1.1.1, Seam Solder, Faces, International, Servlet, Persistence, Mail, Catch, Config, JMS, Remoting and Security.
* Depends on Hibernate Core 3.6.0 (because of Seam Persistence), Hibernate Search 3.3.0 because of Hibernate Core, HornetQ and JAXB.
* Includes all non-jboss-6 included jars (mvel, ora, joda-time, httpclient, etc.)
What makes it hard to figure out is what dependencies should be opted in or out. The jboss-as-parent-7.0.0.CR1 gives idea to figure out dependency versions, but it's still hard to tell what's available in the deployment classpath for my WAR in JBoss 7 (standalone-preview).
I added an extra profile to my pom to opt in jars that needs to be included in the J7 deployment:
<profile>
<id>j7</id>
<dependencies>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.10</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.10</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search</artifactId>
<!-- version>3.4.0.Final</version -->
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.0.Final</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
</dependencies>
</profile>
The good thing is that I see a long list of registered EJB 3.x and 3.0 beans being successfully deployed. But, it fails with a CNF exception for log4j and slf4j loggers. I'm clueless to how to solve logger dependencies.
I posted this issue on AS7 User forum (see bottom): http://community.jboss.org/thread/168853
According to the migration guide: https://docs.jboss.org/author/display/AS7/How+do+I+migrate+my+application...
we need to include "legacy" Hibernate EntityManager, Validator and Annotations to get Seam to work. But, it does not tell whether this relates to Seam 2 or 3. Besides, wouldn't it make sense to opt out those and use the already available Hibernate 4-Beta2 and exclude "legacy" Hibernate dependencies. The footprint of the deployment would be smaller. And how does this affect the JPA in J7 when I include "legacy" hibernate?
The logger is my current showstopper and I don't know what error will be next. Has anyone deployed the Seam Booking example successfully to J7? I would like to see the migration guide clearer to the above and certainly would like to help out on the documentation side and do testing. Or in any other way be of help.
What we need is a JBoss7 deployment matrix profile to act as a reference to everybody using Seam 3 and JBoss 7 project.
Cheers,
Ove
12 years, 9 months
Proposed features for Seam JCR Hackfest
by John D. Ament
Hello,
We are having a Seam Hackfest night on July 14, I think starting around 6pm
eastern. The target module for this hackfest is Seam JCR. We've identified
a few pieces of functionality that we want to cover:
1. OCM support (binding POJO's to JCR Nodes, ala hibernate)
2. Security integration for managing credentials used within JCR
implementations.
3. Seam Catch integration for handling exceptions.
There's one I'm skipping for now, which requires us to have a CDI managed
entity listener. This is a proposed JPA 2.1 feature, but not available in
the persistence module.
If anyone's interested, we would love the support.
John
12 years, 9 months
Stuck with bug in Weld + Jdk6_u26
by Antoine Sabot-Durand
Hi Team,
The last apple java update bring jdk to 1.6.0_26 version and triggers this bug in my webapp (JBoss 6) : https://issues.jboss.org/browse/WELD-897
I tried to switch to JBoss 7 CR1 but got some exception with seam international and joda time missing. Removing Seam-Faces which pull Seam-International let the app deploy without exception, but all the backing beans calls seem to be dead (the page displays but all EL is ignored).
So is there were a way to update weld in JBoss 6 or something I'm missing with JBoss 7 ?
Thks,
Antoine
12 years, 9 months
Fwd: Build failed in Jenkins: Seam-3.x-jms-documentation #28
by John D. Ament
Hey all
Did something change about the way we're supposed to build documentation?
---------- Forwarded message ----------
From: <jboss-qa-internal(a)redhat.com>
Date: Wed, Jul 6, 2011 at 12:05 AM
Subject: Build failed in Jenkins: Seam-3.x-jms-documentation #28
To: seam-qa-list(a)redhat.com, john.d.ament(a)gmail.com
See <
http://hudson.qa.jboss.com/hudson/job/Seam-3.x-jms-documentation/28/changes>
Changes:
[John Ament] SEAMJMS-34 Added a few more tests. SEAMJMS-45 Added an event
payload type that encapsulated all of the configuration options for JMS
events.
[John Ament] SEAMJMS-45 Looks like I missed a class or two.
[John Ament] SEAMJMS-46 Added support for configurable session, connection
factory, moved all in to API.
[John Ament] SEAMJMS-36 Fixed the status watcher example. MIssed a few
serializable APIs and cleaned up a bunch of design issues in the
application.
------------------------------------------
Started by an SCM change
Building remotely on vmg20-rhel5-x86
Checkout:Seam-3.x-jms-documentation / <
http://hudson.qa.jboss.com/hudson/job/Seam-3.x-jms-documentation/ws/> -
hudson.remoting.Channel@662a7fd1:vmg20-rhel5-x86
Using strategy: Default
Last Built Revision: Revision ef10f2962a7ab4b68ddb1392e2df6de2095ff138
(origin/master)
Checkout:Seam-3.x-jms-documentation / <
http://hudson.qa.jboss.com/hudson/job/Seam-3.x-jms-documentation/ws/> -
hudson.remoting.LocalChannel@1fefe2
Cloning the remote Git repository
Cloning repository origin
Fetching upstream changes from git://github.com/seam/jms
Seen branch in repository origin/master
Commencing build of Revision 545c73d967505a9b8d1625e5dfce9f4a7d7a55d7
(origin/master)
Checking out Revision 545c73d967505a9b8d1625e5dfce9f4a7d7a55d7
(origin/master)
[Seam-3.x-jms-documentation] $ /qa/tools/opt/maven-3.0/bin/mvn -f
docs/reference/pom.xml clean install
[INFO] Scanning for projects...
Downloading:
http://snapshots.jboss.org/maven2/org/eclipse/wst/css/core/maven-metadata...
[WARNING] Could not transfer metadata
org.eclipse.wst.css:core/maven-metadata.xml from
maven-repository.dev.java.net (http://download.java.net/maven/1): No
connector available to access repository maven-repository.dev.java.net (
http://download.java.net/maven/1) of type legacy using the available
factories WagonRepositoryConnectorFactory
Downloading:
http://snapshots.jboss.org/maven2/org/eclipse/wst/sse/core/maven-metadata...
[WARNING] Could not transfer metadata
org.eclipse.wst.sse:core/maven-metadata.xml from
maven-repository.dev.java.net (http://download.java.net/maven/1): No
connector available to access repository maven-repository.dev.java.net (
http://download.java.net/maven/1) of type legacy using the available
factories WagonRepositoryConnectorFactory
Downloading:
http://snapshots.jboss.org/maven2/org/eclipse/wst/common/uriresolver/mave...
[WARNING] Could not transfer metadata
org.eclipse.wst.common:uriresolver/maven-metadata.xml from
maven-repository.dev.java.net (http://download.java.net/maven/1): No
connector available to access repository maven-repository.dev.java.net (
http://download.java.net/maven/1) of type legacy using the available
factories WagonRepositoryConnectorFactory
Downloading:
http://snapshots.jboss.org/maven2/org/eclipse/wst/sse/core/maven-metadata...
[WARNING] Could not transfer metadata
org.eclipse.wst.sse:core/maven-metadata.xml from
maven-repository.dev.java.net (http://download.java.net/maven/1): No
connector available to access repository maven-repository.dev.java.net (
http://download.java.net/maven/1) of type legacy using the available
factories WagonRepositoryConnectorFactory
[INFO]
[INFO]
------------------------------------------------------------------------
[INFO] Building Seam JMS Module Reference Guide 3.0.0-SNAPSHOT
[INFO]
------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @
seam-jms-reference-guide ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.0:enforce (seam-build-req) @
seam-jms-reference-guide ---
[INFO]
[INFO] --- build-helper-maven-plugin:1.5:maven-version (default) @
seam-jms-reference-guide ---
[INFO]
[INFO] --- build-helper-maven-plugin:1.5:parse-version (default) @
seam-jms-reference-guide ---
[INFO]
[INFO] --- maven-remote-resources-plugin:1.1:process (attach-license) @
seam-jms-reference-guide ---
[INFO] Setting property: classpath.resource.loader.class =>
'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO]
[INFO] --- maven-jdocbook-plugin:2.2.3:resources (default-resources) @
seam-jms-reference-guide ---
Downloading:
http://snapshots.jboss.org/maven2/org/eclipse/wst/css/core/maven-metadata...
[WARNING] Could not transfer metadata
org.eclipse.wst.css:core/maven-metadata.xml from
maven-repository.dev.java.net (http://download.java.net/maven/1): No
connector available to access repository maven-repository.dev.java.net (
http://download.java.net/maven/1) of type legacy using the available
factories WagonRepositoryConnectorFactory
Downloading:
http://snapshots.jboss.org/maven2/org/eclipse/wst/sse/core/maven-metadata...
[WARNING] Could not transfer metadata
org.eclipse.wst.sse:core/maven-metadata.xml from
maven-repository.dev.java.net (http://download.java.net/maven/1): No
connector available to access repository maven-repository.dev.java.net (
http://download.java.net/maven/1) of type legacy using the available
factories WagonRepositoryConnectorFactory
Downloading:
http://snapshots.jboss.org/maven2/org/eclipse/wst/common/uriresolver/mave...
[WARNING] Could not transfer metadata
org.eclipse.wst.common:uriresolver/maven-metadata.xml from
maven-repository.dev.java.net (http://download.java.net/maven/1): No
connector available to access repository maven-repository.dev.java.net (
http://download.java.net/maven/1) of type legacy using the available
factories WagonRepositoryConnectorFactory
Downloading:
http://snapshots.jboss.org/maven2/org/eclipse/wst/sse/core/maven-metadata...
[WARNING] Could not transfer metadata
org.eclipse.wst.sse:core/maven-metadata.xml from
maven-repository.dev.java.net (http://download.java.net/maven/1): No
connector available to access repository maven-repository.dev.java.net (
http://download.java.net/maven/1) of type legacy using the available
factories WagonRepositoryConnectorFactory
[INFO] artifact org.eclipse:text: checking for updates from
jboss-developer-repository-group
[INFO] artifact org.eclipse:text: checking for updates from central
[INFO] artifact org.eclipse.core:filebuffers: checking for updates from
jboss-developer-repository-group
[INFO] artifact org.eclipse.core:filebuffers: checking for updates from
repository.jboss.org
[INFO] artifact org.eclipse.core:filebuffers: checking for updates from
central
Downloading:
https://repository.jboss.org/nexus/content/groups/developer/org/eclipse/e...
[INFO]
------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 28.735s
[INFO] Finished at: Wed Jul 06 00:05:38 EDT 2011
[INFO] Final Memory: 14M/262M
[INFO]
------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.jboss.maven.plugins:maven-jdocbook-plugin:2.2.3:resources
(default-resources) on project seam-jms-reference-guide: Unexpected problem:
Unable to locate artifact [org.eclipse.emf:common:jar:null]: Failure to find
org.eclipse.emf:common:jar:[2.3.0,2.4.0) in
https://repository.jboss.org/nexus/content/repositories/deprecated/ was
cached in the local repository, resolution will not be reattempted until the
update interval of jboss-deprecated has elapsed or updates are forced
[ERROR]
[ERROR] Try downloading the file manually from the project website.
[ERROR]
[ERROR] Then, install it using the command:
[ERROR] mvn install:install-file -DgroupId=org.eclipse.emf
-DartifactId=common -Dversion=null -Dpackaging=jar -Dfile=/path/to/file
[ERROR]
[ERROR] Alternatively, if you host your own repository you can deploy the
file there:
[ERROR] mvn deploy:deploy-file -DgroupId=org.eclipse.emf -DartifactId=common
-Dversion=null -Dpackaging=jar -Dfile=/path/to/file -Durl=[url]
-DrepositoryId=[id]
[ERROR]
[ERROR] Path to dependency:
[ERROR] 1)
org.jboss.seam.jms:seam-jms-reference-guide:jdocbook:3.0.0-SNAPSHOT
[ERROR] 2) org.eclipse.wst.css:core:jar:1.1.101-v200705302225
[ERROR] 3) org.eclipse.wst.xml:core:jar:1.1.201-v200709201331
[ERROR] 4) org.eclipse.wst:validation:jar:1.1.102-v200709122200
[ERROR] 5) org.eclipse.wst.common:frameworks:jar:1.1.102-v200706071630
[ERROR] 6) org.eclipse.emf:ecore:jar:2.3.0-v200706262000
[ERROR]
[ERROR]
[ERROR] org.eclipse.emf:common:jar:null
[ERROR]
[ERROR] from the specified remote repositories:
[ERROR] jboss-deprecated (
https://repository.jboss.org/nexus/content/repositories/deprecated/,
releases=true, snapshots=false),
[ERROR] jboss-developer-repository-group (
https://repository.jboss.org/nexus/content/groups/developer/, releases=true,
snapshots=true),
[ERROR] snapshots.jboss.org (http://snapshots.jboss.org/maven2,
releases=true, snapshots=true),
[ERROR] repository.jboss.org (http://repository.jboss.org/maven2,
releases=true, snapshots=false),
[ERROR] jboss-public-repository-group (
http://repository.jboss.org/nexus/content/groups/public, releases=true,
snapshots=false),
[ERROR] jboss-snapshots-repository (
http://repository.jboss.org/nexus/content/groups/public, releases=false,
snapshots=true),
[ERROR] central (http://repo1.maven.org/maven2, releases=true,
snapshots=false)
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please
read the following articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Archiving artifacts
12 years, 9 months