Weblogic EJB Cache full exception
For my application i am using weblogic 4.5.1, and while running the server i am getting
an exception "weblogic.ejb.extensions.CacheFullException:".
Though i have restarted the server still the problem persists, can you give suggestion
how i can resolve this.
[exception.doc]
You'll get a CacheFullException if you exceed the max-beans-in-cache
4.5.1 is pretty old right now, and I don't believe it's even supported anymore. I'd
suggest upgrading if possible.
-- Rob
Vetriselvan wrote:
For my application i am using weblogic 4.5.1, and while running the server i am getting
an exception "weblogic.ejb.extensions.CacheFullException:".
Though i have restarted the server still the problem persists, can you give suggestion
how i can resolve this.
Name: exception.doc
exception.doc Type: Microsoft Word Document (application/msword)
Encoding: base64
Similar Messages
-
Deploy ejb on wls7.0 weblogic.ejb.jar.xml ! help
Morning !
i'm try to deploy a EJB on wls7.0
my descriptor is like this and i don't really undestand what's go wrong.
thanks you to help
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 7.0.0
EJB//EN" "http://www.bea.com/servers/wls700/dtd/weblogic700-ejb-jar.dtd" >
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<entity>
<ejb-name>Compte</ejb-name>
<bean-home-name>Compte</bean-home-name>
<resource-ref>
<res-ref-name>jdbc/DataSource</res-ref-name>
<jndi-name>DataSource</jndi-name>
</resource-ref>
<cmp-info>
<database-map>
<table>"Compte"</table>
<column-map>
<field-name>id</field-name>
<column-name>"id"</column-name>
</column-map>
<column-map>
<field-name>nomSte</field-name>
<column-name>"nomSte"</column-name>
</column-map>
<column-map>
<field-name>dateCreation</field-name>
<column-name>"dateCreation"</column-name>
</column-map>
<column-map>
<field-name>nbEmployes</field-name>
<column-name>"nbEmployes"</column-name>
</column-map>
<column-map>
<field-name>caSte</field-name>
<column-name>"caSte"</column-name>
</column-map>
<column-map>
<field-name>descSte</field-name>
<column-name>"descSte"</column-name>
</column-map>
<column-map>
<field-name>logo</field-name>
<column-name>"logo"</column-name>
</column-map>
<column-map>
<field-name>id_commercial</field-name>
<column-name>"id_commercial"</column-name>
</column-map>
</database-map>
<finder>
<method-signature>findAll()</method-signature>
<where-clause />
<load-state>True</load-state>
</finder>
</cmp-info>
</entity>
<datasource-definitions>
<datasource>
<jndi-name>DataSource</jndi-name>
<url>jdbc:odbc:dev_java</url>
<username>sa</username>
<password>lnx.sully</password>
<driver-class-name>sun.jdbc.odbc.JdbcOdbcDriver</driver-class-name>
</datasource>
</datasource-definitions>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
the EXception is !
Exception
weblogic.management.ApplicationException: No deployment found at
E:\bea70\weblogic700\server\bin\GRPEJB.jar.
at
weblogic.j2ee.J2EEApplicationContainerFactory.initializeDeployment(J2EEAppli
cationContainerFactory.java:350)
at
weblogic.management.deploy.DeployerRuntime.unprotectedActivate(DeployerRunti
me.java:350)
at
weblogic.management.deploy.DeployerRuntime.access$0(DeployerRuntime.java:282
at
weblogic.management.deploy.DeployerRuntime$1.run(DeployerRuntime.java:947)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:721)
at
weblogic.management.deploy.DeployerRuntime.checkAndPerformDeployerActions(De
ployerRuntime.java:941)
at
weblogic.management.deploy.DeployerRuntime.activate(DeployerRuntime.java:279
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
.java:717)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
99)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at
weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerI
mpl.java:921)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:470)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:198)
at $Proxy48.activate(Unknown Source)
at
weblogic.management.console.actions.mbean.ConfigureAppWizardAction.commit(Co
nfigureAppWizardAction.java:248)
at
weblogic.management.console.actions.mbean.ConfigureAppWizardAction.perform(C
onfigureAppWizardAction.java:100)
at
weblogic.management.console.actions.internal.ActionServlet.doAction(ActionSe
rvlet.java:171)
at
weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServ
let.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
tStubImpl.java:945)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:332)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:242)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
ebAppServletContext.java:5360)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:721)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:3043)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2468)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
tahnks you !
Unimon Thierry
CGBI- CET-E-services
69, Blvd Galliéni
91 Issy les Mlx
tele :01/55/95/54/22 Poste:5422
Port :06/61/81/78/59
Prof : mailto:[email protected]
Pers : mailto:[email protected]oops! Pls ignore my previous mail. It was for a different problem.
FOr the original problem of "couldn ot locate the bean with the ejb-name XZY in weblogic-ejb-jar.xml":
This happens if you don't have the below files defined
for a JAR/EAR file:
weblogic-ejb-jar.xml and weblogic-cmp-rdbms-jar.xml (needed if you have any Datasource mapped)
These two are basic files required for any JAR/EAR file.
If you dont' have it already you can generate them using
$WLS_HOME/bin/startWLBuilder.sh GUI tool bundled along
with WLS (I used 8.1 SP4) to generate these files ! This tool is really helpful.
- Mouli -
When a statusful session bean be called frequencely in weblogic 5.1, weblogic throws
"weblogic.ejb.extensions.LockTimedOutException", why?
please help me!!thanks!!Hmmm, this exception occurs when two or more threads are trying to get an
exclusive lock on a session(not permitted) or entity bean(times out) at the
same time. Is it possible that two threads are accessing your session bean
at the same time?
"xiaoniao" <[email protected]> wrote in message
news:3d96cde6$[email protected]..
>
When a statusful session bean be called frequencely in weblogic 5.1,weblogic throws
"weblogic.ejb.extensions.LockTimedOutException", why?
please help me!!thanks!! -
ADC exception=BAM-01262: Active Data Cache server exception in openViewset
Hi All,
I am getting the below mentioned error when i try to open a report from Active Studio in BAM.
If i give parameter value ' All ' in the prompt, it shows all the value. But if i give specific values like one parameter value 1007 and other All etc, it gives the below error. I tried giving parameter value ' All ' in the prompt after getting the error, its not showing the values.
The below error is from front end:-
SQL EXCEPTION NULL : Invalid column index
The below error from back end:-
[2012-01-10T06:39:07.916+05:30] [bam_server1] [ERROR] [] [oracle.bam.reportcache] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 83cdf926093045b8:4fde7fa7:134bf505061:-8000-00000000000044f4,0] [APP: oracle-bam#11.1.1] *ReportCache: ReportCacheServer.OpenViewSet: ADC exception=BAM-01262: Active Data Cache server exception in openViewset(). [[*
at oracle.bam.adc.kernel.util.Util.getCacheException(Util.java:101)
at oracle.bam.adc.kernel.util.Util.getCacheException(Util.java:154)
at oracle.bam.adc.kernel.util.Util.getCacheException(Util.java:172)
at oracle.bam.adc.kernel.server.DataStoreServer.openViewset(DataStoreServer.java:1110)
at oracle.bam.adc.ejb.BamAdcServerBean.openViewset(BamAdcServerBean.java:841)
at sun.reflect.GeneratedMethodAccessor702.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
at oracle.bam.adc.ejb.BamAdcServerBean.interceptor(BamAdcServerBean.java:266)
at sun.reflect.GeneratedMethodAccessor374.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
[2012-01-10T06:39:07.913+05:30] [bam_server1] [ERROR] [] [oracle.bam.adc] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 83cdf926093045b8:4fde7fa7:134bf505061:-8000-00000000000044f4,0] [APP: oracle-bam#11.1.1] ActiveDataCache: Exception occurred in method openViewset(_TPT_PO_HEADER_STG_TBL,0)[[
Exception: java.sql.SQLException: SQLError(17003) SQLState(99999) Invalid column index
at oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:6336)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:10605)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:10518)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:11574)
at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:11544)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:249)
at oracle.bam.adc.common.externaldatasources.JDBC.getDataReader(JDBC.java:322)
at oracle.bam.adc.kernel.datasets.ExternalStorageEngine.getDataReader(ExternalStorageEngine.java:76)
at oracle.bam.adc.kernel.viewsets.utilities.externaldata.DataImporter.executeQuery(DataImporter.java:95)
at oracle.bam.adc.kernel.viewsets.utilities.externaldata.ExternalDataManager.importExternalData(ExternalDataManager.java:228)
at oracle.bam.adc.kernel.viewsets.utilities.externaldata.ExternalDataManager.importExternalFactData(ExternalDataManager.java:151)
at oracle.bam.adc.kernel.viewsets.utilities.externaldata.ExternalDataManager.getExternalData(ExternalDataManager.java:103)
at oracle.bam.adc.kernel.viewsets.Viewset.loadData(Viewset.java:259)
at oracle.bam.adc.kernel.viewsets.ViewsetBase.initialize(ViewsetBase.java:171)
at oracle.bam.adc.kernel.viewsets.Viewset.initialize(Viewset.java:220)
at oracle.bam.adc.kernel.viewsets.ViewsetBase.open(ViewsetBase.java:154)
Please give me any suggestion on this.
Thanks,
ManikandanThis problem was solved when I installed a new product version.
-
Weblogic 7 SP5 SQL Exceptions follow a JTA transaction timeout
I have a problem in Weblogic 7 SP5 that was not happening in SP2. I'm using the
Weblogic jDriver (weblogic.jdbc.mssqlserver4.Driver)
I have a transaction that times out due to JTA transaction timeout, and then gets
marked for rollback. For several minutes after the timeout, I get many SQL Exceptions
with bogus messages like "invalid column name" when the column name is, in fact,
correct.
Then the weblogic log file shows "Exception during rollback of transaction" (javax.transaction.SystemException:
Heuristic hazard). Next, the connection is tested on reserve, this test fails,
and the connection is refreshed. As soon as the connection is refreshed, I stop
getting SQL exceptions and everything starts working correctly again.
It seems like the transaction timeout is making the connection go bad, and somehow
other requests are using this bad connection before the transaction finishes rolling
back. What could the problem be? Some excerpts from my app log and weblogic log
are below.
com.workpoint.server.ejb.WorkPointEJBException: The transaction is no longer active
- status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException:
Transaction timed out after 901 seconds
Name=[EJB com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],Xid=17109:68c10765ba68aaaa(12114044),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=901,seconds left=60,activeThread=Thread[WorkQueueThread[q=1, qName=ProcReleaseTaskWorkers,
id=6],5,WorkQueueGroup[id=1, name=ProcReleaseTaskWorkers]],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=ended,assigned=none,xar=weblogic.jdbc.jts.Connection@18cd616,re-Registered
= false),SCInfo[DomainManager+edwards-s1]=(state=active),properties=({weblogic.transaction.name=[EJB
com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],
weblogic.jdbc=t3://10.10.3.17:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+,
Resources={})],CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+)]'.
No further JDBC access is allowed within this transaction.SQL Command = INSERT
INTO WP_PROCI_NODE_HIST (NODE_HIST_ID, NODE_HIST_DB, PROCI_ID, PROCI_DB, PROCI_NODE_ID,
PROCI_NODE_DB, NODE_ITERATION, NODE_STATE_ID, ROW_VERSION, LU_ID, LU_DATE) VALUES
weblogic.jdbc.mssqlserver4.TdsException: Invalid column name 'user_fname'.
[from weblogic log]
####<Jun 17, 2004 8:14:16 AM MDT> <Error> <EJB> <EDWARDS> <edwards-s1> <WorkQueueThread[q=1,
qName=ProcReleaseTaskWorkers, id=7]> <kernel identity> <> <010025> <Exception
during rollback of transaction Name=[EJB com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],Xid=17439:68c10765ba68aaaa(31878774),Status=Rolled
back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=3,seconds left=57,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=rolledback,assigned=edwards-s1,xar=weblogic.jdbc.jts.Connection@15e1b7e,re-Registered
= false),SCInfo[DomainManager+edwards-s1]=(state=rolledback),properties=({weblogic.transaction.name=[EJB
com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],
weblogic.jdbc=t3://10.10.3.17:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+,
Resources={})],CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+): javax.transaction.SystemException:
Heuristic hazard: (weblogic.jdbc.jts.Connection, HeuristicHazard, (javax.transaction.xa.XAException:
I/O exception while talking to the server, java.io.EOFException))
####<Jun 17, 2004 8:14:17 AM MDT> <Warning> <JDBC> <EDWARDS> <edwards-s1> <ExecuteThread:
'8' for queue: 'default'> <kernel identity> <> <001094> <A connection from pool
"sp_connection_pool" was tested during reserve with the SQL "select 1" and failed:
weblogic.jdbc.mssqlserver4.TdsException: I/O exception while talking to the server,
java.io.EOFException
...[stack trace omitted]...
This connection will now be refreshed.>Brad Swanson wrote:
According to BEA's documentation, the jDriver is deprecated (no longer supported)
in WLS 7 SP5. Not sure when they stopped supporting it, but sometime after SP2,
apparently. Our solution, unfortunately, was to stay with SP2. Using the newer,
supported JDBC driver would presumably fix the problem, but we didn't have time
to do a full regression test with a different driver.Hi, no. The jDriver is deprecated, not unsupported. For WLS releases that contain
the jDriver it will be supported for as long as we support the WLS release!
Deprecation just means that we may choose to not supply that driver in any future
release, and will not support it in that or any subsequent release.
Practically, much depends on which jDriver you're using. In decreasing order
of practical support we have: The weblogic.jdbc.oci.Driver to Oracle: We do actively
continue to fix bugs in it. The weblogic.jdbc.mssqlserver4.Driver: Very unlikely that
we will fix any new problem with it. The weblogic.jdbc.ifmx.Driver: Even less
likely that we will do anything with it...
I hope that makes it better for you.
Joe -
Sample weblogic-ejb-jar.xml for Resource-ref EJB 3.0
I am trying to create an MDB that can be re-used under different names.
@MessageDriven(description = "An MDB that transfers messages from one Queue to another", activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") })
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class TransferMdb implements MessageListener {
private static final Logger LOG = Logger.getLogger(TransferMdb.class);
@Resource(name = "jms/connfactory")
private ConnectionFactory connectionFactory;
@Resource(name = "jms/targetDestination")
private Queue targetDestination;
<ejb-jar version="3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_3_0.xsd">
<enterprise-beans>
<message-driven>
<ejb-name>TransferMdb</ejb-name>
<ejb-class>TransferMdb</ejb-class>
</message-driven>
</enterprise-beans>
</ejb-jar>
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>TransferMdb</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>200</max-beans-in-free-pool>
<initial-beans-in-free-pool>5</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>test_queue</destination-jndi-name>
<transaction-descriptor>
<trans-timeout-seconds>20</trans-timeout-seconds>
</transaction-descriptor>
</message-driven-descriptor>
<reference-descriptor>
<resource-description>
<res-ref-name>jms/connectionfactory</res-ref-name>
<jndi-name>connectionfactory</jndi-name>
</resource-description>
<resource-description>
<res-ref-name>jms/targetDestination</res-ref-name>
<jndi-name>reply_queue</jndi-name>
</resource-description>
</reference-descriptor>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
However when I deploy the above, I get exceptions such as:
problem: cvc-complex-type.2.4a: Expected elements 'initial-context-factory@http://www.bea.com/ns/weblogic/weblogic-ejb-jar provider-url@http://www.bea.com/ns/weblogic/weblogic-ejb-jar connection-factory-jndi-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar jms-polling-interval-seconds@http://www.bea.com/ns/weblogic/weblogic-ejb-jar jms-client-id@http://www.bea.com/ns/weblogic/weblogic-ejb-jar generate-unique-jms-client-id@http://www.bea.com/ns/weblogic/weblogic-ejb-jar durable-subscription-deletion@http://www.bea.com/ns/weblogic/weblogic-ejb-jar max-messages-in-transaction@http://www.bea.com/ns/weblogic/weblogic-ejb-jar distributed-destination-connection@http://www.bea.com/ns/weblogic/weblogic-ejb-jar use81-style-polling@http://www.bea.com/ns/weblogic/weblogic-ejb-jar init-suspend-seconds@http://www.bea.com/ns/weblogic/weblogic-ejb-jar max-suspend-seconds@http://www.bea.com/ns/weblogic/weblogic-ejb-jar security-plugin@http://www.bea.com/ns/weblogic/weblogic-ejb-jar' instead of 'transaction-descriptor@http://www.bea.com/ns/weblogic/weblogic-ejb-jar' here in element message-driven-descriptor@http://www.bea.com/ns/weblogic/weblogic-ejb-jar:<null>
problem: cvc-complex-type.2.4a: Expected elements 'transaction-descriptor@http://www.bea.com/ns/weblogic/weblogic-ejb-jar iiop-security-descriptor@http://www.bea.com/ns/weblogic/weblogic-ejb-jar resource-description@http://www.bea.com/ns/weblogic/weblogic-ejb-jar resource-env-description@http://www.bea.com/ns/weblogic/weblogic-ejb-jar ejb-reference-description@http://www.bea.com/ns/weblogic/weblogic-ejb-jar service-reference-description@http://www.bea.com/ns/weblogic/weblogic-ejb-jar enable-call-by-reference@http://www.bea.com/ns/weblogic/weblogic-ejb-jar network-access-point@http://www.bea.com/ns/weblogic/weblogic-ejb-jar clients-on-same-server@http://www.bea.com/ns/weblogic/weblogic-ejb-jar run-as-principal-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar create-as-principal-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar remove-as-principal-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar passivate-as-principal-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar jndi-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar local-jndi-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar dispatch-policy@http://www.bea.com/ns/weblogic/weblogic-ejb-jar remote-client-timeout@http://www.bea.com/ns/weblogic/weblogic-ejb-jar stick-to-first-server@http://www.bea.com/ns/weblogic/weblogic-ejb-jar' instead of 'reference-descriptor@http://www.bea.com/ns/weblogic/weblogic-ejb-jar' here in element weblogic-enterprise-bean@http://www.bea.com/ns/weblogic/weblogic-ejb-jar:<null>
at weblogic.descriptor.internal.MarshallerFactory$1.evaluateResults(MarshallerFactory.java:234)
at weblogic.descriptor.internal.MarshallerFactory$1.evaluateResults(MarshallerFactory.java:221)
at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:146)
at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:306)
at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788)
Truncated. see log file for complete stacktrace
I am clearly missing items in the weblogic-ejb-jar.xml. If anyone has a sample or tips, that would be awesome as a starting point.Those tags just declare that you are using our CMP provider and that
your descriptor is in META-INF/weblogic-cmp-rdbms-jar.xml.
FWIW, you might also want to check out EJBGen. It tends to keep more up
to date with WLS than xdoclet.
-- Rob
Gen wrote:
I am using xdoclets to generate descriptor file weblogic-ejb-jar.xml
for a BMP entity bean. Xdoclet is generating the descriptor file
alright, but is putting the following extra tags. This happens even
for samples which come with the download, so my tags in java file are
not wrong.
My question is, are the extra tags below harmless, or should I
manually go to each desciptor file and remove them?
Thanks.
----------- EXTRA TAGS GENERATED START ---------
persistence> <persistence-type>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
</persistence-type>
<persistence-use>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
</persistence-use>
</persistence>
----------- EXTRA TAGS GENERATED END ---------
----------- TAGS I PUT IN JAVA CLASS START --------
* @ejb:bean name="com.ejb.entity.Customer"
* jndi-name="com.ejb.entity.CustomerHome"
* view-type="remote"
* type="BMP"
* primkey-field="com.ejb.entity.CustomerPK"
* reentrant="false"
* @weblogic:cache
* max-beans-in-cache="1000"
* read-timeout-seconds="900"
* concurrency-strategy="ReadOnly"
----------- TAGS I PUT IN JAVA CLASS END -------- -
Weblogic 5.1 - Unrelated exceptions in application
I have been trying to figure this problem for about an hour now. Apparently
it is only happening on heavy load, cannot reproduce it in our QA
environment
For last 2 weeks webloigc 5.1 sp9 on Sun Jdk 1.3, Solaris 5.8 (our live
platform) starts acting strange after being run for a couple of hours.
Interestingly no one has made changes to it, and the problem does not look
related to a software patch in anycase, might even be a JVM bug.
Basically weblogic starts throwing Exceptions all over the code, mostly they
are null pointer exceptions except where we check for a null and throw an
alternate exception. Its almost as if the reference table in the JVM decides
that everything is null.
Following is a bit of the log just before it crash, if anyone has hints as
to what might be going on or has had similar problems please let me know.
Thanks
part of Log follows:
java.lang.NullPointerException
at jsp_servlet._prod50._comn.__login._jspService(__login.java:277)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
java.lang.NullPointerException
at jsp_servlet._prod50._comn.__login._jspService(__login.java:277)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
java.io.IOException: Broken pipe
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(SocketOutputStream.java:83)
at weblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java:114)
at
weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamI
mpl.java:125)
at
weblogic.servlet.internal.ServletOutputStreamImpl.flushWithCheck(ServletOutp
utStreamImpl.java:343)
at
weblogic.servlet.internal.ServletOutputStreamImpl.checkForFlush(ServletOutpu
tStreamImpl.java:484)
at
weblogic.servlet.internal.ServletOutputStreamImpl.print(ServletOutputStreamI
mpl.java:197)
at weblogic.servlet.jsp.JspWriterImpl.print(JspWriterImpl.java:140)
at jsp_servlet._prod50._loca.__loca._jspService(__loca.java:412)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
java.lang.NullPointerException
at jsp_servlet._prod50._comn.__login._jspService(__login.java:371)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
java.lang.NullPointerException
at jsp_servlet._prod50._comn.__login._jspService(__login.java:371)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
Login of user with roleid:3000, prod_USER
java.io.IOException: Broken pipe
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(SocketOutputStream.java:83)
at weblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java:114)
at
weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamI
mpl.java:125)
at
weblogic.servlet.internal.ServletOutputStreamImpl.checkForFlush(ServletOutpu
tStreamImpl.java:488)
at
weblogic.servlet.internal.ServletOutputStreamImpl.print(ServletOutputStreamI
mpl.java:197)
at weblogic.servlet.jsp.JspWriterImpl.print(JspWriterImpl.java:140)
at jsp_servlet._prod50._comn.__myprofile._jspService(__myprofile.java:422)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
Mon Feb 09 15:07:51 EST 2004:<I> <EJB JAR deployment
/prod/jars/reuse/ejb_RUNavigationS.jar> Exception in non-transactional EJB
invoke:
weblogic.ejb.extensions.LockTimedOutException: Lock for primaryKey:121_9:1
timed out after 300000 ms.
at
weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImpl.java:53)
at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:146)
at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:81)
at weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:456)
at
weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObjec
t.java:162)
at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:476)
at
com.prod.ejb.domain.runavigation.impl.RUNavigationDBeanEOImpl.getNavigation(
RUNavigationDBeanEOImpl.java:149)
at
com.prod.ejb.service.runavigation.impl.RUNavigationSBean.getNavigation(RUNav
igationSBean.java:123)
at
com.prod.ejb.service.runavigation.impl.RUNavigationSBeanEOImpl.getNavigation
(RUNavigationSBeanEOImpl.java:187)
at
com.prod.ejb.service.runavigation.impl.RUNavigationSBeanEOImpl_ServiceStub.g
etNavigation(RUNavigationSBeanEOImpl_ServiceStub.java:157)
at com.prod.applications.reuse.ui.Nav.populateCache(Nav.java:398)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:321)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:285)
at com.prod.applications.site.ui.SiteUI.<init>(SiteUI.java:26)
at jsp_servlet._prod50._mktp.__site._jspService(__site.java:191)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
com.prod.applications.reuse.ui.UIException: Exception on Client Id(121)
at com.prod.applications.reuse.ui.Nav.populateCache(Nav.java:412)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:321)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:285)
at com.prod.applications.site.ui.SiteUI.<init>(SiteUI.java:26)
at jsp_servlet._prod50._mktp.__site._jspService(__site.java:191)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
com.prod.applications.reuse.ui.UIException: Exception on Client Id(121)
at com.prod.applications.reuse.ui.Nav.populateCache(Nav.java:412)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:321)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:285)
at com.prod.applications.site.ui.SiteUI.<init>(SiteUI.java:26)
at jsp_servlet._prod50._mktp.__site._jspService(__site.java:191)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
calling _checkReloadConfig at iteration 2030
TerminatedIt turns out that there was an OutOfMemoryException when this all starts. I
had missed this as it was a single line Exception with no stack trace in a
15MB log file :(
We had our site load increase 5 folds in a week. All the problem starts with
the OutOfMemoryException. Increasing the VM heap size to 1GB have fixed the
issue.
To me it looks as if the GC is removing valid references if there is a
OutOfMemoryException, or maybe even something in WL51 that tries to recover
from an out of memory state and decides to release referenced objects in its
cache.
Thanks Rob
"Rob Woollen" <[email protected]> wrote in message
news:[email protected]...
Looks like a NullPointerException in your jsp page. It's very hard for
us to tell you anything more without more information.
-- Rob
Haider Kazmi wrote:
I have been trying to figure this problem for about an hour now.
Apparently
it is only happening on heavy load, cannot reproduce it in our QA
environment
For last 2 weeks webloigc 5.1 sp9 on Sun Jdk 1.3, Solaris 5.8 (our live
platform) starts acting strange after being run for a couple of hours.
Interestingly no one has made changes to it, and the problem does notlook
related to a software patch in anycase, might even be a JVM bug.
Basically weblogic starts throwing Exceptions all over the code, mostlythey
are null pointer exceptions except where we check for a null and throwan
alternate exception. Its almost as if the reference table in the JVMdecides
that everything is null.
Following is a bit of the log just before it crash, if anyone has hintsas
to what might be going on or has had similar problems please let meknow.
Thanks
part of Log follows:
java.lang.NullPointerException
at jsp_servlet._prod50._comn.__login._jspService(__login.java:277)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
java.lang.NullPointerException
at jsp_servlet._prod50._comn.__login._jspService(__login.java:277)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
java.io.IOException: Broken pipe
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(SocketOutputStream.java:83)
atweblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java:114)
at
weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamI
mpl.java:125)
at
weblogic.servlet.internal.ServletOutputStreamImpl.flushWithCheck(ServletOutp
utStreamImpl.java:343)
at
weblogic.servlet.internal.ServletOutputStreamImpl.checkForFlush(ServletOutpu
tStreamImpl.java:484)
at
weblogic.servlet.internal.ServletOutputStreamImpl.print(ServletOutputStreamI
mpl.java:197)
at weblogic.servlet.jsp.JspWriterImpl.print(JspWriterImpl.java:140)
at jsp_servlet._prod50._loca.__loca._jspService(__loca.java:412)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
java.lang.NullPointerException
at jsp_servlet._prod50._comn.__login._jspService(__login.java:371)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
java.lang.NullPointerException
at jsp_servlet._prod50._comn.__login._jspService(__login.java:371)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
Login of user with roleid:3000, prod_USER
java.io.IOException: Broken pipe
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(SocketOutputStream.java:83)
atweblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java:114)
at
weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamI
mpl.java:125)
at
weblogic.servlet.internal.ServletOutputStreamImpl.checkForFlush(ServletOutpu
tStreamImpl.java:488)
at
weblogic.servlet.internal.ServletOutputStreamImpl.print(ServletOutputStreamI
mpl.java:197)
at weblogic.servlet.jsp.JspWriterImpl.print(JspWriterImpl.java:140)
atjsp_servlet._prod50._comn.__myprofile._jspService(__myprofile.java:422)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
Mon Feb 09 15:07:51 EST 2004:<I> <EJB JAR deployment
/prod/jars/reuse/ejb_RUNavigationS.jar> Exception in non-transactionalEJB
invoke:
weblogic.ejb.extensions.LockTimedOutException: Lock forprimaryKey:121_9:1
timed out after 300000 ms.
at
weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImpl.java:53)
at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:146)
at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:81)
atweblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:456)
at
weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObjec
t.java:162)
atweblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:476)
at
com.prod.ejb.domain.runavigation.impl.RUNavigationDBeanEOImpl.getNavigation(
RUNavigationDBeanEOImpl.java:149)
at
com.prod.ejb.service.runavigation.impl.RUNavigationSBean.getNavigation(RUNav
igationSBean.java:123)
at
com.prod.ejb.service.runavigation.impl.RUNavigationSBeanEOImpl.getNavigation
(RUNavigationSBeanEOImpl.java:187)
at
com.prod.ejb.service.runavigation.impl.RUNavigationSBeanEOImpl_ServiceStub.g
etNavigation(RUNavigationSBeanEOImpl_ServiceStub.java:157)
at com.prod.applications.reuse.ui.Nav.populateCache(Nav.java:398)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:321)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:285)
at com.prod.applications.site.ui.SiteUI.<init>(SiteUI.java:26)
at jsp_servlet._prod50._mktp.__site._jspService(__site.java:191)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
com.prod.applications.reuse.ui.UIException: Exception on Client Id(121)
at com.prod.applications.reuse.ui.Nav.populateCache(Nav.java:412)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:321)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:285)
at com.prod.applications.site.ui.SiteUI.<init>(SiteUI.java:26)
at jsp_servlet._prod50._mktp.__site._jspService(__site.java:191)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
com.prod.applications.reuse.ui.UIException: Exception on Client Id(121)
at com.prod.applications.reuse.ui.Nav.populateCache(Nav.java:412)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:321)
at com.prod.applications.reuse.ui.Nav.<init>(Nav.java:285)
at com.prod.applications.site.ui.SiteUI.<init>(SiteUI.java:26)
at jsp_servlet._prod50._mktp.__site._jspService(__site.java:191)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
calling _checkReloadConfig at iteration 2030
Terminated -
Hi All,
I have recently encountered very very unusual problem which am not able to understand. If you could kindly shade some light on that it would be of great help. I have three environment where the application is being deployed. In the first two environment it works fine without any problem. But when I deployed in the third environment it behave very funny. The full stack trace of the error is bellow:
Exception in EJBTestClient: java.rmi.RemoteException: ; nested exception is:
weblogic.rmi.ServerError: A RemoteException occurred in the server metho
d
- with nested exception:
[java.lang.NoSuchMethodError: weblogic.ejb.internal.EJBHomeImpl: method findMeth
The problem occurs when I try to call EJB from client. When I re-build the EJBS on the same environment it works fine. Am not able to understand this unusual behavior. If you could kindly help me understand the problem it would of great help. The environments are as follows.
ENV-1
OS - SunOS 5.6 Generic_105181-23 sun4u sparc SUNW,Ultra-Enterprise
JDK - Solaris VM (build Solaris_JDK_1.2.2_07, native threads, sunwjit)
Weblogic - 5.1.0 Service Pack 8 12/20/2000 16:34:54 #95137
Oracle � 8.1.6
ENV-2
OS - SunOS 5.8 Generic_108528-07 sun4u sparc SUNW,Ultra-Enterprise
JDK - Solaris VM (build Solaris_JDK_1.2.2_07, native threads, sunwjit)
Weblogic - 5.1.0 Service Pack 9 04/06/2001 12:10:43 #105983
Oracle � 8.1.6
ENV-3
OS - SunOS cfesit 5.8 Generic_108528-07 sun4u sparc SUNW,Ultra-Enterprise
JDK - Solaris VM (build Solaris_JDK_1.2.2_07, native threads, sunwjit)
Weblogic - 5.1.0 Service Pack 9 04/05/2001 14:59:53 #105983
Oracle � 8.1.6
The problem occurs in the 3rd environment.
Cheers,
Tapas
Hi..
I guess itzz more of the service pack problems.
Jars built on the later version won't work in the previous version (service packs) of weblogic.
Try building a jar on the oldest version (service pack) u have and then try deploying it to the later version , i think it won't give u any problems.
Try it out and let me know if u face any problems -
Failed to load weblogic-ejb-jar.xml
Hi,
I try to deploy an EJB on Weblogic 9.1, but the weblogic-ejb-jar seems to cause this exception :
======================================================
[wlappc] <30 oct. 2006 12 h 13 CET> <Error> <J2EE> <BEA-160187> <weblogic.appc failed to compile your application. Recompile with the -verbose option for more details. Please see the error message(s) below.>
[wlappc] com.bea.xml.XmlException: failed to load java type corresponding to e=weblogic-ejb-jar@http://www.bea.com/ns/weblogic/910
[wlappc] at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:325)
[wlappc] at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:292)
[wlappc] at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:302)
[wlappc] at com.bea.staxb.runtime.internal.UnmarshalResult.determineRootType(UnmarshalResult.java:283)
[wlappc] at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:153)
[wlappc] at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:65)
[wlappc] at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:138)
[wlappc] at weblogic.descriptor.DescriptorManager.createDescriptor(DescriptorManager.java:271)
[wlappc] at weblogic.descriptor.DescriptorManager.createDescriptor(DescriptorManager.java:240)
[wlappc] at weblogic.descriptor.DescriptorManager.createDescriptor(DescriptorManager.java:300)
[wlappc] at weblogic.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:344)
[wlappc] at weblogic.application.descriptor.CachingDescriptorLoader.createDescriptor(CachingDescriptorLoader.java:188)
[wlappc] at weblogic.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:328)
[wlappc] at weblogic.application.descriptor.AbstractDescriptorLoader.getDescriptor(AbstractDescriptorLoader.java:237)
[wlappc] at weblogic.application.descriptor.AbstractDescriptorLoader.getRootDescriptorBean(AbstractDescriptorLoader.java:217)
[wlappc] at weblogic.ejb.spi.EjbJarDescriptor.parseWeblogicEjbJarBean(EjbJarDescriptor.java:171)
[wlappc] at weblogic.ejb.container.dd.xml.DDUtils.processWLEjbJarXMLWithSchema(DDUtils.java:706)
[wlappc] at weblogic.ejb.container.dd.xml.DDUtils.parseWLDD(DDUtils.java:535)
[wlappc] at weblogic.ejb.container.dd.xml.DDUtils.createDescriptorFromJarFile(DDUtils.java:358)
[wlappc] at weblogic.ejb.container.dd.xml.DDUtils.createReadOnlyDescriptorFromJarFile(DDUtils.java:141)
[wlappc] at weblogic.ejb.container.ejbc.EJBCompiler.parseDescriptors(EJBCompiler.java:1345)
[wlappc] at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:431)
[wlappc] at weblogic.application.compiler.AppcUtils.compileEJB(AppcUtils.java:292)
[wlappc] at weblogic.application.compiler.EJBCompiler.compile(EJBCompiler.java:95)
[wlappc] at weblogic.application.compiler.flow.AppCompilerFlow.compileInput(AppCompilerFlow.java:113)
[wlappc] at weblogic.application.compiler.flow.AppCompilerFlow.compile(AppCompilerFlow.java:43)
[wlappc] at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:55)
[wlappc] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
[wlappc] at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:24)
[wlappc] at weblogic.application.compiler.Appc.runBody(Appc.java:151)
[wlappc] at weblogic.utils.compiler.Tool.run(Tool.java:158)
[wlappc] at weblogic.utils.compiler.Tool.run(Tool.java:115)
======================================================
Here is my weblogic-ejb-jar.xml file :
======================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/910"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/910
http://www.bea.com/ns/weblogic/910/weblogic-ejb-jar.xsd">
<weblogic-enterprise-bean>
<ejb-name>MyMDB</ejb-name>
<message-driven-descriptor>
<resource-adapter-jndi-name>ActiveMQRA</resource-adapter-jndi-name>
<connection-factory-jndi-name>myQCF</connection-factory-jndi-name>
</message-driven-descriptor>
<resource-description>
<res-ref-name>jms/factory</res-ref-name>
<jndi-name>myQCF</jndi-name>
</resource-description>
<resource-env-description>
<resource-env-ref-name>jms/queue</resource-env-ref-name>
<jndi-name>queue.out</jndi-name>
</resource-env-description>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
======================================================
So, it looks like this problem : http://forums.bea.com/bea/message.jspa?messageID=600018030&tstart=0
I just need a confirmation :
- is the "res-ref-name" format incorrect with '/' character ?
- is the jndi-name format incorrect with '.' character ?
Else, what is the problem with this DD ?
Thanks,
Rudy"shubha" <[email protected]> wrote:
>
hi ,
Ejb with ejb-name 'hellobean' in ejb-jar.xml
should be specified in weblogic-ejb-jar.xml with <weblogic-enterprise-bean></weblogic-enterprise-bean>
i am having problem in deploying the most simple bean on wls7.0 .
when i try to open the bean module with the weblogic builder i get the
following
message
weblogic.ejb20.WLDeploymentException: Could not locate bean with ejb-name
'hellobean'
in weblogic-ejb-jar.xml
at weblogic.ejb20.deployer.CompositeMBeanDescriptor.initialize60(CompositeMBeanDescriptor.java:249)
at weblogic.ejb20.deployer.CompositeMBeanDescriptor.init(CompositeMBeanDescriptor.java:180)
at weblogic.ejb20.deployer.CompositeMBeanDescriptor.<init>(CompositeMBeanDescriptor.java:171)
at weblogic.marathon.model.EJBJarCMBean.setup(EJBJarCMBean.java:408)
at weblogic.marathon.tasks.OpenModuleTask.figureOutModule(OpenModuleTask.java:76)
at weblogic.marathon.tasks.OpenModuleTask.figureOutModule(OpenModuleTask.java:109)
at weblogic.marathon.tasks.OpenModuleTask.runBackground(OpenModuleTask.java:64)
at weblogic.jellybeans.core.task.TaskThread.execute(TaskThread.java:114)
at weblogic.jellybeans.core.task.TaskThread.run(TaskThread.java:55)
Could not locate bean with ejb-name 'hellobean' in weblogic-ejb-jar.xml
Module hello1 descriptors failed to load
if anyone has come across the same problem and have debugged it please
help me
out
thanks in advance -
Dynamic jndi-name in weblogic-ejb-jar.xml
Is there a way to create dynamic (i.e. runtime) jndi-names for EJBs instead of
(or in addition to) "hard coding" them in the weblogic-ejb-jar.xml file? What
I'm trying to do is have one WebLogic instance (JVM) host multiple environments
(our Beta and Training environments) and I simply want to deploy the same .ear
file twice but have each environment (application - .ear) reference a different
database schema (jdbc connection pool). I have everything working just fine for
this scenario except when I define jndi-names for our ejbs. The problem is that
I am really deploying the same ejbs (jndi-names and actually code base) in each
applicatoin instance and I get an exception when the WebLogic is trying to deploy
the second application (.ear) because the jndi-names in it have already been deployed
by the first application instance. I recieve a jndi error stating that the name
is already deployed.
Or is there a better path to go down for what I am trying to do to have one WebLogic
instance support our beta and training environments? Usually (but not always)
our code base is the for same for both of these environments, I simply need to
have each environment use a different database schema.
ThanksA little birdie tells me that BEA does this very thing. Looking at the
descriptors for WebLogic Portal I see:
<weblogic-enterprise-bean>
<ejb-name>LoaderEJB</ejb-name>
<enable-call-by-reference>True</enable-call-by-reference>
<jndi-name>${APPNAME}.BEA_content.LoaderHome</jndi-name>
</weblogic-enterprise-bean>
Yes, the ${APPNAME} token really is expanded into the J2EE application
name at deployment time!
Sincerely,
Daniel Selman
Bryan Dixon wrote:
Rewriting our build process isn't really much of an option for me. Our current
build process is too complex and time consuming right now to convert to Ant (we
eventually will do this but not for a while). So are there any other ideas that
aren't build related?
Thanks
"Eric Ma" <[email protected]> wrote:
You don't need run-time dynamism in JDNI names and it can't be done anyways.
You
need token substitution in XML configuration files when building the
app. If
you are using Ant for building, then it is a breeze. If not, first convert
your
build process to use Ant.
Also, a single WLS instance hosting multiple environments sounds really
INTRIGUING
to me.
Eric Ma
"Bryan Dixon" <[email protected]> wrote:
Is there a way to create dynamic (i.e. runtime) jndi-names for EJBsinstead
of
(or in addition to) "hard coding" them in the weblogic-ejb-jar.xml file?
What
I'm trying to do is have one WebLogic instance (JVM) host multiple environments
(our Beta and Training environments) and I simply want to deploy the
same .ear
file twice but have each environment (application - .ear) referencea
different
database schema (jdbc connection pool). I have everything working just
fine for
this scenario except when I define jndi-names for our ejbs. The problem
is that
I am really deploying the same ejbs (jndi-names and actually code base)
in each
applicatoin instance and I get an exception when the WebLogic is trying
to deploy
the second application (.ear) because the jndi-names in it have already
been deployed
by the first application instance. I recieve a jndi error stating that
the name
is already deployed.
Or is there a better path to go down for what I am trying to do to have
one WebLogic
instance support our beta and training environments? Usually (but not
always)
our code base is the for same for both of these environments, I simply
need to
have each environment use a different database schema.
Thanks -
Controlling EJB Cache & Warning BEA-010001 in 8.1
Background: Migrated from 6.1 to 8.1. Using CMP with template.j modified (migrated).
Problem:
1. Could not use any Entities which uses Entity Cache. It throws weblogic.ejb20.cache.CacheFullException
during ejbLoad. My existing Cache parameters are (anyway, it is no different from
6.1 where itz working fine)
<pool>
<max-beans-in-free-pool>100</max-beans-in-free-pool>
</pool>
<entity-cache>
<max-beans-in-cache>100</max-beans-in-cache>
<idle-timeout-seconds>610</idle-timeout-seconds>
<read-timeout-seconds>60</read-timeout-seconds>
<concurrency-strategy>Database</concurrency-strategy>
</entity-cache>
Is there any new configuration which needs to be set for 8.1? Redirection to
some checklist for controlling there cache parameter would be helpful?
2. While deploying my Beans it shows up Warning BEA-010001. Documentation says,
specify in weblogic-ejb-jar.xml<weblogic-ejb-jar> <disable-warning>BEA-010001
| BEA-010054</disable-warning>..</weblogic-ejb-jar>. I have thousands of beans
deployed in the server my warning message dumps my console with these messages
hiding critical error messages. Is there any 'additional parameters' to stop
this warning or route this warning to a separate log file?
TIA
JAKHi Jak,
max-beans-in-cache equal 100 is way too low for any real life application.
I'm not sure why it worked for you in 6.1. I remember setting it was broken
in 6.1 at some point.
Regards,
Slava Imeshev
"jak" <[email protected]> wrote in message
news:3f07e7c9$[email protected]..
>
Background: Migrated from 6.1 to 8.1. Using CMP with template.j modified(migrated).
>
Problem:
1. Could not use any Entities which uses Entity Cache. It throwsweblogic.ejb20.cache.CacheFullException
during ejbLoad. My existing Cache parameters are (anyway, it is nodifferent from
6.1 where itz working fine)
<pool>
<max-beans-in-free-pool>100</max-beans-in-free-pool>
</pool>
<entity-cache>
<max-beans-in-cache>100</max-beans-in-cache>
<idle-timeout-seconds>610</idle-timeout-seconds>
<read-timeout-seconds>60</read-timeout-seconds>
<concurrency-strategy>Database</concurrency-strategy>
</entity-cache>
Is there any new configuration which needs to be set for 8.1? Redirectionto
some checklist for controlling there cache parameter would be helpful?
2. While deploying my Beans it shows up Warning BEA-010001. Documentationsays,
specify in weblogic-ejb-jar.xml<weblogic-ejb-jar><disable-warning>BEA-010001
| BEA-010054</disable-warning>..</weblogic-ejb-jar>. I have thousands ofbeans
deployed in the server my warning message dumps my console with thesemessages
hiding critical error messages. Is there any 'additional parameters' tostop
this warning or route this warning to a separate log file?
TIA
JAK -
How to get full exception trace
I am using ATG 10 & weblogic. Getting below exception but it is truncated. i want to see full exception trace. Which log file will have this info.
java.lang.IllegalArgumentException: java.lang.ClassCastException@10e4a38
at sun.reflect.GeneratedMethodAccessor666.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at atg.droplet.DropletDescriptor.setPropertyValue(DropletDescriptor.java:817)
at atg.taglib.dspjsp.SetValueTag.doStartTag(SetValueTag.java:282)
Truncated. see log file for complete stacktrace
>Stack trace trimming in ATG logs in controlled by the maxLinesInStackTrace and cropStackTrace properties on the ErrorLog, WarningLog, DebugLog and InfoLog component in the Nucleus NameContext (directory) /atg/dynamo/service/logging. I believe that the default setting for cropStackTrace is false, so you should be able to check the ATG logs for complete stack traces.
In addition, ATG by default is configured to log through the native logging system of the app-server (via the ScreenLog component), and stack trace display and cropping for ScreenLog logging is controlled through the app-server's native logging system. -
Help: I'm sure it is a Bug in JNI calling WebLogic EJB
Help me! I'm using jni to call weblogic EJB from a Com+ component,here is the code:
// This is the main project file for VC++ application project
// generated using an Application Wizard.
#include "stdafx.h"
#pragma unmanaged
#include <windows.h>
#include <jni.h>
#include <process.h>
#include <stdio.h>
#define USER_CLASSPATH "C:\\myClasses;C:\\j2sdk1.4.0\\lib\\tools.jar;Z:\\wlserver6.1\\lib\\weblogic.jar;"
/* where Prog.class is */
JavaVM *jvm;
* Function GetJNIEnv(void) returns the java environment pointer
* in case we are executing on a thread other than the one the
* jvm was created on.
JNIEnv* GetJNIEnv(void){
JNIEnv *env = NULL;
jint nRet = jvm->GetEnv((void **)&env, JNI_VERSION_1_2);
if(nRet == JNI_EDETACHED){
jvm->AttachCurrentThread((void **)&env, NULL);
return env;
* Function DoJNDI(void *arg) uses the Java Invocation API to
* execute the following Java code:
* Hashtable prop = new Hashtable();
* prop.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"
* prop.put( Context.PROVIDER_URL, "t3://192.168.40.137:7001" );
* ctxInitial = new InitialDirContext( prop );
void DoJNDI(void *arg){
jclass clsHash, clsInitDirCx;
jmethodID mHashInit, mHashPut, mInitDirCxInit;
jobject objHash, objInitDirCx;
JNIEnv *env = GetJNIEnv(); // Get the environment if on a different thread
clsHash = env->FindClass("java/util/Hashtable");
mHashInit = env->GetMethodID(clsHash, "<init>", "()V");
objHash = env->NewObject(clsHash, mHashInit);
mHashPut = env->GetMethodID(clsHash, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
jstring jstrICxFactoryPut = env->NewStringUTF("java.naming.factory.initial");
jstring jstrICxFactoryVal = env->NewStringUTF("weblogic.jndi.WLInitialContextFactory");
env->CallObjectMethod(objHash, mHashPut, jstrICxFactoryPut,jstrICxFactoryVal);
jstring jstrProviderUrlPut = env->NewStringUTF("java.naming.provider.url");
jstring jstrProviderUrlVal = env->NewStringUTF("t3://192.168.40.137:7001");
env->CallObjectMethod(objHash, mHashPut, jstrProviderUrlPut,jstrProviderUrlVal);
clsInitDirCx = env->FindClass("javax/naming/InitialContext");
mInitDirCxInit = env->GetMethodID(clsInitDirCx, "<init>", "(Ljava/util/Hashtable;)V");
objInitDirCx = env->NewObject(clsInitDirCx, mInitDirCxInit, objHash);
if(objInitDirCx == NULL){
printf("%s test FAILED:\n\n", (char*)arg);
else{
printf("%s test PASSED\n\n", (char*)arg);
jvm->DetachCurrentThread();
* Function main(void) creates a JVM, and calls DoJNDI twice:
* Once as a regular function call, and once as a spun off thread.
void main() {
JavaVMInitArgs vm_args;
JavaVMOption options[5];
options[0].optionString = "-client";
options[1].optionString =
"-cp " USER_CLASSPATH;
options[2].optionString =
"-Djava.class.path=" USER_CLASSPATH;
//options[3].optionString =
// "-Xbootclasspath:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;z:\\wlserver6.1\\lib\\weblogic.jar;";
options[3].optionString =
"-Xbootclasspath/a:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
options[4].optionString =
"-Xbootclasspath/p:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
vm_args.version = 0x00010002;
vm_args.options = options;
vm_args.nOptions = 5;
vm_args.ignoreUnrecognized = JNI_TRUE;
JNIEnv *env;
jint res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
// *** Make the magic calls! (Both lines should do the same thing) ***
DoJNDI((void*)"Function call");
_beginthread(DoJNDI,0,(void *)"Thread call");
/* wait for thread(s) to finish */
Sleep(5000);
jvm->DestroyJavaVM();
But it always send me a Exception like below:
javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory.
Root exception is java.lang.ClassNotFoundException: weblogic/jndi/WLInitialContextFactory
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:207)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:649)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
when I search this problem in java.sun.com,an article announce that it is a bug that
JNDI not support multi-threads call,and it is fixed is JDK1.4 beta. The link is:
http://developer.java.sun.com/developer/bugParade/bugs/4307751.html
It seems that weblogic's JNDI is not support multi-thread call. what can i do?Try adding the following code before instantiating your initial context:
Thread.currentThread().setContextClassLoader( ClassLoader.getSystemClassLoader()
This fixed the problem for me.
-Brian
"Edward Lu" <[email protected]> wrote:
>
Help me! I'm using jni to call weblogic EJB from a Com+ component,here is
the code:
// This is the main project file for VC++ application project
// generated using an Application Wizard.
#include "stdafx.h"
#pragma unmanaged
#include <windows.h>
#include <jni.h>
#include <process.h>
#include <stdio.h>
#define USER_CLASSPATH "C:\\myClasses;C:\\j2sdk1.4.0\\lib\\tools.jar;Z:\\wlserver6.1\\lib\\weblogic.jar;"
/* where Prog.class is */
JavaVM *jvm;
* Function GetJNIEnv(void) returns the java environment pointer
* in case we are executing on a thread other than the one the
* jvm was created on.
JNIEnv* GetJNIEnv(void){
JNIEnv *env = NULL;
jint nRet = jvm->GetEnv((void **)&env, JNI_VERSION_1_2);
if(nRet == JNI_EDETACHED){
jvm->AttachCurrentThread((void **)&env, NULL);
return env;
* Function DoJNDI(void *arg) uses the Java Invocation API to
* execute the following Java code:
* Hashtable prop = new Hashtable();
* prop.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"
* prop.put( Context.PROVIDER_URL, "t3://192.168.40.137:7001" );
* ctxInitial = new InitialDirContext( prop );
void DoJNDI(void *arg){
jclass clsHash, clsInitDirCx;
jmethodID mHashInit, mHashPut, mInitDirCxInit;
jobject objHash, objInitDirCx;
JNIEnv *env = GetJNIEnv(); // Get the environment if on a different thread
clsHash = env->FindClass("java/util/Hashtable");
mHashInit = env->GetMethodID(clsHash, "<init>", "()V");
objHash = env->NewObject(clsHash, mHashInit);
mHashPut = env->GetMethodID(clsHash, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
jstring jstrICxFactoryPut = env->NewStringUTF("java.naming.factory.initial");
jstring jstrICxFactoryVal = env->NewStringUTF("weblogic.jndi.WLInitialContextFactory");
env->CallObjectMethod(objHash, mHashPut, jstrICxFactoryPut,jstrICxFactoryVal);
jstring jstrProviderUrlPut = env->NewStringUTF("java.naming.provider.url");
jstring jstrProviderUrlVal = env->NewStringUTF("t3://192.168.40.137:7001");
env->CallObjectMethod(objHash, mHashPut, jstrProviderUrlPut,jstrProviderUrlVal);
clsInitDirCx = env->FindClass("javax/naming/InitialContext");
mInitDirCxInit = env->GetMethodID(clsInitDirCx, "<init>", "(Ljava/util/Hashtable;)V");
objInitDirCx = env->NewObject(clsInitDirCx, mInitDirCxInit, objHash);
if(objInitDirCx == NULL){
printf("%s test FAILED:\n\n", (char*)arg);
else{
printf("%s test PASSED\n\n", (char*)arg);
jvm->DetachCurrentThread();
* Function main(void) creates a JVM, and calls DoJNDI twice:
* Once as a regular function call, and once as a spun off thread.
void main() {
JavaVMInitArgs vm_args;
JavaVMOption options[5];
options[0].optionString = "-client";
options[1].optionString =
"-cp " USER_CLASSPATH;
options[2].optionString =
"-Djava.class.path=" USER_CLASSPATH;
//options[3].optionString =
// "-Xbootclasspath:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;z:\\wlserver6.1\\lib\\weblogic.jar;";
options[3].optionString =
"-Xbootclasspath/a:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
options[4].optionString =
"-Xbootclasspath/p:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
vm_args.version = 0x00010002;
vm_args.options = options;
vm_args.nOptions = 5;
vm_args.ignoreUnrecognized = JNI_TRUE;
JNIEnv *env;
jint res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
// *** Make the magic calls! (Both lines should do the same thing) ***
DoJNDI((void*)"Function call");
_beginthread(DoJNDI,0,(void *)"Thread call");
/* wait for thread(s) to finish */
Sleep(5000);
jvm->DestroyJavaVM();
But it always send me a Exception like below:
javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory.
Root exception is java.lang.ClassNotFoundException: weblogic/jndi/WLInitialContextFactory
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:207)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:649)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
when I search this problem in java.sun.com,an article announce that it is
a bug that
JNDI not support multi-threads call,and it is fixed is JDK1.4 beta. The
link is:
http://developer.java.sun.com/developer/bugParade/bugs/4307751.html
It seems that weblogic's JNDI is not support multi-thread call. what can
i do? -
Use of externally-defined/ in weblogic-ejb-jar.xml
I am trying to use Global Roles defined via the Weblogic console to control access to EJB methods.
I am using the <externally-defined/> tag in security role assignments, however when I deploy to Weblogic I get the following error :
<8/09/2004 04:21:42 PM GMT+10:00> <Error> <Deployer> <BEA-149205> <Failed to initialize the application appsdirmars-marketdata_ear due to error weblogic.manag
ement.ApplicationException: Prepare failed. Task Id = null
Module Name: ejb-marketdata.jar, Error: [EJB:011024]The XML parser encountered an error in your deployment descriptor. Please ensure that your deployment descriptor corresponds to the format in the DTD. The error was:
Error parsing file 'META-INF/weblogic-ejb-jar.xml' at line: 51 column: 26. Element type "externally-defined" must be declared..
at weblogic.j2ee.J2EEApplicationContainer.checkForErrors(J2EEApplication
Container.java:1612)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain
er.java:1207)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain
er.java:1051)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain
er.java:823)
at weblogic.management.deploy.slave.SlaveDeployer$Application.prepare(Sl
aveDeployer.java:2925)
at weblogic.management.deploy.slave.SlaveDeployer.prepareAllApplications
(SlaveDeployer.java:967)
at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.j
ava:349)
at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resum
e(DeploymentManagerServerLifeCycleImpl.java:229)
at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)
I am running Weblogic 8.1 SP3 on Windows XP Pro.
The XML is valid for the specified DTD according to my XML editor.
The relevevant fragment from weblogic-ejb-jar.xml is included below.
Any help much appreciated.
Gavin.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
<weblogic-ejb-jar>
<security-role-assignment>
<role-name>MarsAdmin</role-name>
<externally-defined/>
</security-role-assignment>
<security-role-assignment>
<role-name>MarsViewer</role-name>
<externally-defined/>
</security-role-assignment>
</weblogic-ejb-jar>I tried using the <global-role/> tag instead - this does deploy without any errors - but when I call the secure EJB method I get the Security Violation error below.
The DTD says using the <global-role/> tag is fine, albeit deprecated, but the Weblogic 8.1 manual says this has been replaced by <externally-defined/>, so I'm not sure if this should work or not.
[EJB:010160]Security Violation: User: 'ghughes' has insufficient permission to access EJB: type=<ejb>, application=_appsdir_mars-marketdata_ear, module=ejb-marketdata.jar, ejb=marketdata.MarketDataManager, method=getEnergyOverview, methodInterface=Remote, signature={java.util.Date}.
So on the whole I'd prefer to work out why Weblogic isn't recognising <externally-defined/> - I've included the full deployment descriptor below - I'm generating it using the latest snapshot of XDoclet - is the DTD specified correct for Weblogic 8.1 SP3 ? (It matches the one specified in http://e-docs.bea.com/wls/docs81/ejb/DDreference-ejb-jar.html - but I can't think of anything else that could be wrong).
Any tips much appreciated as I need to enable an administrator to customise these roles at runtime rather than hard-coding the role - group mappings into the deployment descriptors.
Thanks,
Gavin.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
<weblogic-ejb-jar>
<description><![CDATA[Generated by XDoclet]]></description>
<weblogic-enterprise-bean>
<ejb-name>marketdata.MarketDataManager</ejb-name>
<stateless-session-descriptor>
</stateless-session-descriptor>
<reference-descriptor>
</reference-descriptor>
<jndi-name>marketdata.MarketDataManager</jndi-name>
<local-jndi-name>marketdata.MarketDataManagerLocal</local-jndi-name>
</weblogic-enterprise-bean>
<weblogic-enterprise-bean>
<ejb-name>marketdata.MessageManager</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>FileTopic</destination-jndi-name>
<connection-factory-jndi-name>JMSConnectionFactory</connection-factory-jndi-name>
<jms-polling-interval-seconds>10</jms-polling-interval-seconds>
<jms-client-id>1</jms-client-id>
</message-driven-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>10</trans-timeout-seconds>
</transaction-descriptor>
<reference-descriptor>
</reference-descriptor>
<enable-call-by-reference>True</enable-call-by-reference>
</weblogic-enterprise-bean>
<!--
To add enterprise beans that you have deployment descriptor info for, add
a file to your XDoclet merge directory called weblogic-enterprise-beans.xml that contains
the <weblogic-enterprise-bean></weblogic-enterprise-bean> markup for those beans.
-->
<!-- xdoclet merge file -> weblogic-ejb-jar.xml -->
<security-role-assignment>
<role-name>MarsAdmin</role-name>
<externally-defined/>
</security-role-assignment>
<security-role-assignment>
<role-name>MarsViewer</role-name>
<externally-defined/>
</security-role-assignment>
<idempotent-methods>
</idempotent-methods>
</weblogic-ejb-jar>
Message was edited by [email protected] at Sep 8, 2004 8:45 PM -
The stack trace is as follows:
Unable to deploy EJB: ATT_RNM_MDB from interface-ejb-jar.jar:
DefaultResponseDestination is already bound
Caused By: javax.naming.NameAlreadyBoundException: DefaultResponseDestination is already bound; remaining name 'app/ejb/interface-ejb-jar/jar/#ATT_RNA_MDB/comp/env/jms'
We have an ear- ATT_JMS_Interface which has 2 MDBs- ATT_RNM_MDB and ATT_RNA_MDB. Both are pointing to the same defaultResponseDestination queue as mentioned in the weblogic-ejb-jar.xml below:
weblogic-enterprise-bean>
<ejb-name>ATT_RNA_MDB</ejb-name>
<resource-description>
<res-ref-name>jms/DefaultResponseConnectionFactory</res-ref-name>
<jndi-name>weblogic.jms.XAConnectionFactory</jndi-name>
</resource-description>
<resource-env-description>
<resource-env-ref-name>jms/DefaultResponseDestination</resource-env-ref-name>
<jndi-name>com.amdocs.att.jms.rnmResponseQueue</jndi-name>
</resource-env-description>
<dispatch-policy>WorkManager-RNX</dispatch-policy>
</weblogic-enterprise-bean>
<weblogic-enterprise-bean>
<ejb-name>ATT_RNM_MDB</ejb-name>
<resource-description>
<res-ref-name>jms/DefaultResponseConnectionFactory</res-ref-name>
<jndi-name>weblogic.jms.XAConnectionFactory</jndi-name>
</resource-description>
<resource-env-description>
<resource-env-ref-name>jms/DefaultResponseDestination</resource-env-ref-name>
<jndi-name>com.amdocs.att.jms.rnmResponseQueue</jndi-name>
</resource-env-description>
<dispatch-policy>WorkManager-RNX</dispatch-policy>
</weblogic-enterprise-bean>
NOTE: This works perfectly fine on weblogic 10.3.3Try to clean the weblogic server cache directory located under Servers\XXXServer\cache.
Restart the weblogic instance and redeploy the applicatioṇ
Let us know if the issue still persists
Thanks,
Vijaya
Maybe you are looking for
-
How do i get a printer to work?
Hello i am new to mac os i have used windows all my life so im not quite use to mac os yet so iv tried to set up the printer to work from my macbook pro but i cant get it to work. the printer is on a homenetwork connected to a windows computer which
-
I can't open de adobe acrobat x pro academic
I can't open de adobe acrobat x pro academic afther the instalation
-
Hi all, I am going through the following BPM example http://help.sap.com/saphelp_nw04/helpdata/en/ca/7c5c41fe06cf1ee10000000a155106/content.htm and the question I have is they are talking about configuring the receiver based on Receiver Determinat
-
Inizializzazione di DLL fallita
Al caricamento di un programma di controllo scritto con Labview che utilizza NIDAQ, il più delle volte, viene visualizzato il seg. messaggio di windows: Analog Inut: Labview.exe Inizializzazione di DLL Fallita Inizializzazione DLL c:\winnt\system32\n
-
If I put in menuTree for commandMenuItem rendered to false. <af:menuTree startDepth="2" var="node" value="#{menuModel.model}" > <f:facet name="nodeStamp"> <af:commandMenuItem text="#{node.label}" action="#{node.getOutcome}" rendered="false"/> </f:fac