[JBoss Seam] - Requirements for using @Startup annotation?
by tonylmai
Hello,
I have an application facade with an application scope that I'd like to be instantiated when Seam context begins. It seems to fit the criteria for using the @Startup annotation. Yet, Seam complained "The annotation @Startup is disallowed for this location".
Here is my code:
@Stateless
| @Scope(ScopeType.APPLICATION)
| public class TradeDeskManagerBean implements TradeDeskManager {
| @Startup
| public void init() throws ServiceLocatorException, AuthenticationException, JMSException {
| ...
What is the requirements for using this @Startup annotation. The manual has only one paragraph referring this annotation.
One a different note, do I even need to declare this facade as SLSB? This bean contains a context into another EJB container. How would Seam's concurrent model provide safe access into this "Singleton"?
Thanks for your help.
-tony
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4044735#4044735
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4044735
19 years, 1 month
[JBossCache] - PojoCache object not retrieved from file store after evictio
by morisona
I have a PojoCache working on JBoss AS 4.0.5.
I have configured an Eviction Policy and a FileCacheLoader.
When I put an object into the cache, it is correctly inserted into the file system.
When the cache initialises it correctly reads the objects in the file system into its memory.
When my program, which accesses the cache, connects to the cache, the object is brought into memory and can be accessed.
The object is correctly evicted from memory after the configured time.
But after that, if I try to retrieve the object (either with the MBean printDetails() or programatically) it is no longer in the cache.
I understand from the TreeCache.pdf that this is not correct.
My xx-service.xml file is based on the example local-passivation-service.xml file, which was the only one I could find with both an Eviction Policy and CacheLoader.
My xx-service.xml file is below:
| <?xml version="1.0" encoding="UTF-8"?>
|
| <!-- ===================================================================== -->
| <!-- -->
| <!-- Sample PojoCache Service Configuration -->
| <!-- -->
| <!-- ===================================================================== -->
|
| <server>
|
| <!-- Used inside JBoss AS -->
| <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/>
|
| <!-- ==================================================================== -->
| <!-- Defines configuration -->
| <!-- ==================================================================== -->
|
| <mbean code="org.jboss.cache.aop.PojoCache"
| name="jboss.cache:service=PojoCache">
|
| <!-- Used inside JBoss AS -->
| <depends>jboss:service=Naming</depends>
| <depends>jboss:service=TransactionManager</depends>
|
|
|
|
|
| <attribute name="TransactionManagerLookupClass">org.jboss.cache.JBossTransactionManagerLookup</attribute>
|
| <!--
| Configure the TransactionManager
| Note: having no TransactionManager configured results in this log msg:
| WARN [org.jboss.cache.TreeCache] method _lock() should not be invoked on TreeCache
|
| -->
| <!--
| Node locking scheme:
| OPTIMISTIC
| PESSIMISTIC (default)
| -->
| <attribute name="NodeLockingScheme">OPTIMISTIC</attribute>
|
| <!--
| Note that this attribute is IGNORED if your NodeLockingScheme above is OPTIMISTIC.
|
| Isolation level : SERIALIZABLE
| REPEATABLE_READ (default)
| READ_COMMITTED
| READ_UNCOMMITTED
| NONE
| -->
| <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
|
| <!--
| Valid modes are LOCAL
| REPL_ASYNC
| REPL_SYNC
| INVALIDATION_ASYNC
| INVALIDATION_SYNC
| -->
| <attribute name="CacheMode">REPL_ASYNC</attribute>
|
| <!--
| Just used for async repl: use a replication queue
| -->
| <attribute name="UseReplQueue">false</attribute>
|
| <!--
| Replication interval for replication queue (in ms)
| -->
| <attribute name="ReplQueueInterval">0</attribute>
|
| <!--
| Max number of elements which trigger replication
| -->
| <attribute name="ReplQueueMaxElements">0</attribute>
|
| <!-- Name of cluster. Needs to be the same for all clusters, in order
| to find each other
| -->
| <attribute name="ClusterName">sipnotif</attribute>
|
| <!-- JGroups protocol stack properties. Can also be a URL,
| e.g. file:/home/bela/default.xml
| <attribute name="ClusterProperties"></attribute>
| -->
|
| <attribute name="ClusterConfig">
| <config>
| <!-- UDP: if you have a multihomed machine,
| set the bind_addr attribute to the appropriate NIC IP address -->
| <!-- UDP: On Windows machines, because of the media sense feature
| being broken with multicast (even after disabling media sense)
| set the loopback attribute to true -->
| <UDP mcast_addr="228.1.2.5" mcast_port="45577"
| ip_ttl="64" ip_mcast="true"
| mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
| ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
| loopback="false"/>
| <PING timeout="2000" num_initial_members="3"
| up_thread="false" down_thread="false"/>
| <MERGE2 min_interval="10000" max_interval="20000"/>
| <FD shun="true" up_thread="true" down_thread="true"/>
| <VERIFY_SUSPECT timeout="1500"
| up_thread="false" down_thread="false"/>
| <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
| up_thread="false" down_thread="false"/>
| <pbcast.STABLE desired_avg_gossip="20000"
| up_thread="false" down_thread="false"/>
| <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10"
| down_thread="false"/>
| <FRAG frag_size="8192"
| down_thread="false" up_thread="false"/>
| <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
| shun="true" print_local_addr="true"/>
| <pbcast.STATE_TRANSFER up_thread="false" down_thread="false"/>
| </config>
| </attribute>
|
|
| <!--
| The max amount of time (in milliseconds) we wait until the
| initial state (ie. the contents of the cache) are retrieved from
| existing members in a clustered environment
| -->
| <attribute name="InitialStateRetrievalTimeout">20000</attribute>
|
| <!--
| Number of milliseconds to wait until all responses for a
| synchronous call have been received.
| -->
| <attribute name="SyncReplTimeout">15000</attribute>
|
| <!-- Max number of milliseconds to wait for a lock acquisition -->
| <attribute name="LockAcquisitionTimeout">10000</attribute>
|
| <!--
| <attribute name="EvictionPolicyClass"></attribute>
| -->
|
| <!-- Name of the eviction policy class. We have commented it off to disable eviction.
| -->
| <attribute name="EvictionPolicyClass">org.jboss.cache.aop.eviction.AopLRUPolicy</attribute>
|
| <!-- Specific eviction policy configurations. This is LRU -->
| <attribute name="EvictionPolicyConfig">
| <config>
| <attribute name="wakeUpIntervalSeconds">5</attribute>
| <!-- Cache wide default -->
| <region name="/_default_">
| <attribute name="maxNodes">5000</attribute>
| <attribute name="timeToLiveSeconds">1000</attribute>
| </region>
| <region name="/mailboxes">
| <attribute name="maxNodes">100</attribute>
| <attribute name="timeToLiveSeconds">10</attribute>
| </region>
| </config>
| </attribute>
|
| <!-- New 1.3.x cache loader config block-->
| <attribute name="CacheLoaderConfiguration">
| <config>
| <passivation>true</passivation>
| <preload>/</preload>
| <shared>false</shared>
|
| <cacheloader>
| <class>org.jboss.cache.loader.FileCacheLoader</class>
| <properties>
| location=${jboss.server.data.dir}${/}pojoCache
| </properties>
| <async>false</async>
| <fetchPersistentState>true</fetchPersistentState>
| <ignoreModifications>false</ignoreModifications>
| </cacheloader>
| </config>
| </attribute>
|
|
| <attribute name="UseRegionBasedMarshalling">true</attribute>
| <!--<attribute name="InactiveOnStartup">true</attribute>-->
|
| </mbean>
|
|
|
| </server>
|
|
I would be extremely greatful if someone could comment.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4044734#4044734
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4044734
19 years, 1 month
[EJB 3.0] - Re: Same JNDI name in multiple EAR files: mix up?
by Wolfgang Knauf
Hi !
I hope I understand your problem, and I hope I can provide some help ;-).
You have deployed the same bean in different ejb JARs, but your client lookup does not seem to find the bean which "belongs" to it ?
I thought this should not be possible at all ;-).
Well, you can control the JNDI names with jboss specific deployment descriptors.
For each bean in an EJB jar you can specifiy to which JNDI name it should be bound:
<?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE jboss PUBLIC
| "-//JBoss//DTD JBOSS 4.2//EN"
| "http://www.jboss.org/j2ee/dtd/jboss_4_2.dtd">
| <jboss>
| <enterprise-beans>
| <session>
| <ejb-name>DataManagerBean</ejb-name>
| <jndi-name>DataManager1</jndi-name>
| <local-jndi-name>DataManager1Local</local-jndi-name>
| </session>
| </enterprise-beans>
| </jboss>
This will redefine the global JNDI name of the bean (defaults to EARName/EJBName/local).
On the client side, an ENC entry will be defined in jboss-web.xml and references the new JNDI name:
<?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE jboss-web PUBLIC
| "-//JBoss//DTD Web Application 4.2//EN"
| "http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">
| <jboss-web>
| <context-root>...</context-root>
| <ejb-ref>
| <ejb-ref-name>ejb/DataManagerBean</ejb-ref-name>
| <jndi-name>DataManager1</jndi-name>
| </ejb-ref>
| </jboss-web>
Hope this helps !
Wolfgang
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4044732#4044732
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4044732
19 years, 1 month