JDO Issue
I am creating a Project where WebDynpro accesses SessionBean->BO->DAO(JDO)->DB and when i run the webdynpro application, i am getting the following error
com.sap.engine.services.rmi_p4.exception.P4BaseRuntimeException: I/O operation failed : java.lang.ClassNotFoundException: com.sap.dbtech.jdbc.exceptions.BatchUpdateExceptionSapDB Found in negative cache
Also , any example for JDO using EJB and WebDynpro
gimbal2 wrote:
try adding a flush() call after each change you do; then you'll get the exception on the exact operation that causes it (well, on the flush() call that follows it).I think he's using JDO not JPA. Not sure if they have a flush there as well or if it works the same way as EM.flush. I don't know if there is a JDO forum somewhere. There seem to be quite a few people using EJBs without JPA these days in this forum.
Similar Messages
-
Question about n:1 relation
Hi,
I have a question. If I have two persistence classes (say A and B)with n:1
relation. The B class has a collection that should contain all the
instances of A class that reference the B class instance. The question is:
If I create the instance of B class and then create n classes of the A
class, do I have to explicitly set the created collection of those n
classes to the instance of B or the creation of those n classes
referencing B and making them persistent is enough, i.e. that relation is
bidirectional automatically ?
(Forgive me if I missed something in this issue.)
Regards,
AntonHello Anton,
The way your instances refers to one another is purely a Java issue, while
the way it is made persistent is a JDO issue.
As a Java developper, you have to set-up the associations between you A
and B instances. This is implementation details. You may use existing
classes which helps you manage such an bi-directionnal association.
As soon as your java objects refers to one another, if class A and B are
persistent capable, you just have to make the B instance persistent, so
that, all A instances it refers to, will be persistent too. This is called
persistence by reachability.
Hope this clears any doubt.
Cheers,
Patrick Guillot
Versant France S.A.
Anton Kommar wrote:
Hi,
I have a question. If I have two persistence classes (say A and B)with n:1
relation. The B class has a collection that should contain all the
instances of A class that reference the B class instance. The question is:
If I create the instance of B class and then create n classes of the A
class, do I have to explicitly set the created collection of those n
classes to the instance of B or the creation of those n classes
referencing B and making them persistent is enough, i.e. that relation is
bidirectional automatically ?
(Forgive me if I missed something in this issue.)
Regards,
Anton -
Kodo 3.4.0 now available
Hi,
Kodo 3.4.0 is available now! Get your copy at
http://solarmetric.com/kodo/releases/3.4.0
* Query cache now caches aggregates and projections, including queries
that use grouping
* Added support for savepoints, with both in-memory and JDBC3 plugins.
* Added support for Oracle Object fields through JDBC SQLData interfaces.
* Improved thread and socket support for TCP RemoteCommitProvider
* Better support for large transactions, including several optimizations
in the datastore cache when using large transactions
* Improvements to reverse mapping
* Improvements to unicode support for Oracle
* Improvements to performance of attaching of object graphs
* Improvements to exception handling and reporting
* Tangosol plugin supports query cache
* Added a new ManagedRuntime for improved integration with BEA WebLogic
Server. It is automatically used when using WLS.
See http://docs.solarmetric.com/relnotes.html for full release notes.
Enjoy,
-PatrickStephane & Alex-
Kodo 4.0.0 ships with the final JDO 2.0 jars, but it is not yet a
complete JDO 2 implementation.
We do still intend to complete JDO 2 compliance in the near future, but
as of 4.0.0, Kodo is still officially a JDO 1 product.
Stephane Bouchet wrote:
Another question :
Is the final release will be compliant with the last (and final) JDO 2.0 API ?
It seems it is not the case for the current release.
Cheers,
St?phane
Alex Roytman a ?crit :
Hi Mark,
Is any work done on JDO side of the product? If I am not mistaken the list
of outstanding JDO issues has not changed for quite a while. Are you
planning to release the product without addressing them?
Thank you
Alex
"Marc Prud'hommeaux" <[email protected]> wrote in message
news:[email protected]..
All,
Kodo 4.0.0 RC 3 is now available. This release candidate of Kodo 4
implements the JDO and EJB 3 Persistence specifications. You are
invited to download it at:
http://www.solarmetric.com/Software/beta/4.0.0RC/
You can find the release notes at:
http://solarmetric.com/Software/Documentation/4.0.0RC3/docs/full/html/relnotes.html
The full documentation can be found in the distribution, and also at:
http://solarmetric.com/Software/Documentation/4.0.0RC3/docs/full/html/index.html
Please report any issues that you find to the Kodo beta newsgroup
(bea.kodo.beta).
Good luck, and enjoy!
Marc Prud'hommeaux
BEA, Inc. -
Issues while configuring java application using JDO with MS JDBC Driver 1.0
We are in the process of configuring our java application with the production version of SQL Server 2005 Java Database Connectivity (JDBC) Driver 1.0. We are facing issues getting it to work with Sun App Server using JDO concept.
After creating the data store, adding the JDBC driver to the application server classpath through console and also copying the driver into the lib directory, we are still getting the below error.
Following is the stack trace encountered while running the application
[#|2006-02-15T10:21:25.493+0530|WARNING|sun-appserver-pe8.1_02|javax.enterprise.system.container.ejb.entity.finder|_ThreadID=30;|JDO74010: Bean 'InventoryEJB' method ejbFindAllInventoryItems: problems running JDOQL query.
com.sun.jdo.api.persistence.support.JDOFatalInternalException: JDO76519: Failed to identify vendor type for the data store.
NestedException: java.sql.SQLException: Error in allocating a connection. Cause: javax.transaction.SystemException
at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.initializeSQLStoreManager(SQLPersistenceManagerFactory.java:870)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getFromPool(SQLPersistenceManagerFactory.java:786)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getPersistenceManager(SQLPersistenceManagerFactory.java:673)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:849)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:681)
at com.sun.j2ee.blueprints.supplier.inventory.ejb.InventoryEJB1142755294_ConcreteImpl.jdoGetPersistenceManager(InventoryEJB1142755294_ConcreteImpl.java:530)
at com.sun.j2ee.blueprints.supplier.inventory.ejb.InventoryEJB1142755294_ConcreteImpl.ejbFindAllInventoryItems(InventoryEJB1142755294_ConcreteImpl.java:146)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:147)
at com.sun.ejb.containers.EJBLocalHomeInvocationHandler.invoke(EJBLocalHomeInvocationHandler.java:185)
at $Proxy164.findAllInventoryItems(Unknown Source)
at com.sun.j2ee.blueprints.supplier.inventory.web.DisplayInventoryBean.getInventory(Unknown Source)
at org.apache.jsp.displayinventory_jsp._jspService(displayinventory_jsp.java:119)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:105)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:336)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:251)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:482)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:417)
at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:80)
at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:95)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:313)
at com.sun.j2ee.blueprints.supplier.inventory.web.RcvrRequestProcessor.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:767)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403)
at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)
Can anyone help me on this issue?
Regards,
BinduI have already tried this before and this not work too, but strange that even if I use JDBC:ODBC bridge driver, the return value for output parameters are not correct, that is, only return the value that I input but not the value after executed in the procedure....
The code that I used with JDBC:ODBC bridge is as follow:
public static void main(String[] args) {
String url = "jdbc:odbc:;DRIVER=SQL Server;Persist Security Info=False;database=db;Server=sql;uid=sa;pwd=pwd";
Connection con;
ResultSet rs = null;
CallableStatement callS = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
try {
con=DriverManager.getConnection(url);
callS = con.prepareCall("{ call dbo.CpJavaTest (?)}");
callS.registerOutParameter(1, Types.INTEGER);
callS.execute();
rs=callS.getResultSet();
int ret = callS.getInt(1);
System.out.println("return value : " + ret);
while (rs.next()) {
String f1 = rs.getString(4);
String f2 = rs.getString(5);
System.out.println(f1 + " " + f2);
} catch(SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
The value of the output parameter is same as what I inputed! Hope any one can teach me how to correct it...
Thank you very much! -
Performanse Issue - can I get queries generated by JDO compiled?
Hi,
I have noticed that there is a huge improvemnt in performance when using
compiled queries. However, when I navigate relationships, JDO generates
the query internally and I would like to instruct JDO to compile these
queries as well.
If I replace the relationship type with a long to obtain a key from the
database and then read the related record in a compiled query using this
key, I have seen performance increase 10 times in batch runs.
I would appreciate your advise on this as the current performance we
have achieved with Kodo JDO is not acceptable for our application, but I
believe it would be if these queries were issued with PreparedStatements
as well.
LarsLars --
Unfortunately there's not a lot you can do to control this behavior right now. However, we're working on a system in which we use a transparent PreparedStatement cache for all our database interactions. It should be ready in a few weeks. We hope you can wait that long, because we have some great things in store for Kodo users. -
Trying to use JDO objects as DTO over EJB???
I have implemented the implemented the seralize interface in my JDO object
classes. My JDO classes are only a data framework, I use them on both my
EJB tier and I would like to use them on the web tier.... My thinking was to
serialize the object graph and pass it between the EJB and web tier.... This
seemed like a very good and easy way to painless move my object graph
around. However, I am getting compile problems trying to compile the EJB
methods.
I have tried two variations on the method signature:
public String testDeal (Deal myDeal) and
public Deal testDeal (String name)
where Deal is the root of my JDO object graph. The compile time error that
results by trying to have a JDO enhanced class in the EJB method signature
is shown below.
IS THIS A LIMATION OF JDO or am I doing something wrong?
Second question
=============
If I can't pass a JDO object as my Data Transfer object then I have to use
my fall back idea.... I am currently sub-classing the JDO with a simple
wrapper class. I can sucessfully pass these non-JDO classes as DTO's.....
but I have a simple question.... What is an elegant way of using DTO's to
populate a inheritance structure? This is not really a Java
question....but my problem is that I have a list of a base class that I am
carry around... the list can an one of many subclasses in it... I can easily
determine the type of the class that I get out... but to then use this DTO
to create an a JDO ojbect class instance without a case statement has me
stumped... I hoped this was a common pattern and that someone had an
elegent way to do this mapping..... I thought of a utility class or a
logical to physical mapping structure similar to Struts action mapping, but
I was wondering if there was a better way. Thanks for any suggestions.
java.lang.ExceptionInInitializerError: java.util.MissingResourceException:
Can't find bundle for base name javax.jdo.Bundle, locale en_US
at
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:6
95)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:667)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:547)
at javax.jdo.I18NHelper.loadBundle(I18NHelper.java:143)
at javax.jdo.I18NHelper.<init>(I18NHelper.java:49)
at javax.jdo.I18NHelper.getInstance(I18NHelper.java:61)
at javax.jdo.spi.JDOImplHelper.<clinit>(JDOImplHelper.java)
at aqueduct.Customer.<clinit>(Customer.java)
at java.lang.reflect.Field.getLong(Native Method)
at com.ibm.rmi.io.ObjectStreamClass.init(ObjectStreamClass.java:495)
at
com.ibm.rmi.io.ObjectStreamClass.lookupInternal(ObjectStreamClass.java:167)
at com.ibm.rmi.io.ObjectStreamClass.lookup(ObjectStreamClass.java:120)
at com.ibm.rmi.util.RepositoryId.createHashString(RepositoryId.java:627)
at com.ibm.rmi.util.RepositoryId.createForJavaType(RepositoryId.java:786)
at com.ibm.rmi.util.RepositoryId.createForAnyType(RepositoryId.java:871)
at com.ibm.rmi.util.RepositoryId.createForAnyType(RepositoryId.java:855)
at com.ibm.tools.rmic.iiop.Type.setRepositoryID(Type.java:990)
at com.ibm.tools.rmic.iiop.CompoundType.initialize(CompoundType.java:733)
at com.ibm.tools.rmic.iiop.ValueType.initialize(ValueType.java:241)
at com.ibm.tools.rmic.iiop.ValueType.forValue(ValueType.java:101)
at com.ibm.tools.rmic.iiop.CompoundType.makeType(CompoundType.java(Compiled
Code))
at
com.ibm.tools.rmic.iiop.CompoundType$Method.<init>(CompoundType.java(Compile
d Code))
at
com.ibm.tools.rmic.iiop.CompoundType.addAllMethods(CompoundType.java(Compile
d Code))
at com.ibm.tools.rmic.iiop.ValueType.initialize(ValueType.java:230)
at com.ibm.tools.rmic.iiop.ValueType.forValue(ValueType.java:101)
at com.ibm.tools.rmic.iiop.CompoundType.makeType(CompoundType.java(Compiled
Code))
at
com.ibm.tools.rmic.iiop.CompoundType$Method.<init>(CompoundType.java(Compile
d Code))
at
com.ibm.tools.rmic.iiop.CompoundType.addAllMethods(CompoundType.java:1279)
at
com.ibm.tools.rmic.iiop.RemoteType.isConformingRemoteInterface(RemoteType.ja
va:207)
at com.ibm.tools.rmic.iiop.RemoteType.initialize(RemoteType.java:156)
at com.ibm.tools.rmic.iiop.RemoteType.forRemote(RemoteType.java:75)
at
com.ibm.tools.rmic.iiop.CompoundType.addRemoteInterfaces(CompoundType.java:1
411)
at
com.ibm.tools.rmic.iiop.ImplementationType.initialize(ImplementationType.jav
a:151)
at
com.ibm.tools.rmic.iiop.ImplementationType.forImplementation(ImplementationT
ype.java:77)
at com.ibm.tools.rmic.iiop.StubGenerator.getTopType(StubGenerator.java:128)
at com.ibm.tools.rmic.iiop.Generator.generate(Generator.java:263)
at sun.rmi.rmic.Main.doCompile(Main.java:547)
at sun.rmi.rmic.Main.compile(Main.java:137)
at sun.rmi.rmic.Main.main(Main.java:786)
error: An error has occurred in the compiler; Please visit the URL
http://www.ibm.com/java/jdk/support for information on
investigating/reporting this problem. 1 error RMIC Command returns RC = 1.
The problems which stopped RMIC are displayed, and have also been recorded
in the log file.Brian,
I have used this approach quite successfully with BEA WebLogic Server 7.0.
The JDO enhanced class can act as both the DAO for persistence, and the DTO
in its transient form. The client can rely on network class loading, so long
as you package your EJB-JAR or EAR to contain the JDO jars.
I think your compile problem is probably just a classpath issue.
Ben
"Brian Smith" <[email protected]> wrote in message
news:[email protected]...
>
>
>
I have implemented the implemented the seralize interface in my JDO object
classes. My JDO classes are only a data framework, I use them on both my
EJB tier and I would like to use them on the web tier.... My thinking wasto
serialize the object graph and pass it between the EJB and web tier....This
seemed like a very good and easy way to painless move my object graph
around. However, I am getting compile problems trying to compile the EJB
methods.
I have tried two variations on the method signature:
public String testDeal (Deal myDeal) and
public Deal testDeal (String name)
where Deal is the root of my JDO object graph. The compile time errorthat
results by trying to have a JDO enhanced class in the EJB method signature
is shown below.
IS THIS A LIMATION OF JDO or am I doing something wrong?
Second question
=============
If I can't pass a JDO object as my Data Transfer object then I have to use
my fall back idea.... I am currently sub-classing the JDO with a simple
wrapper class. I can sucessfully pass these non-JDO classes as DTO's.....
but I have a simple question.... What is an elegant way of using DTO's to
populate a inheritance structure? This is not really a Java
question....but my problem is that I have a list of a base class that I am
carry around... the list can an one of many subclasses in it... I caneasily
determine the type of the class that I get out... but to then use this DTO
to create an a JDO ojbect class instance without a case statement has me
stumped... I hoped this was a common pattern and that someone had an
elegent way to do this mapping..... I thought of a utility class or a
logical to physical mapping structure similar to Struts action mapping,but
I was wondering if there was a better way. Thanks for any suggestions.
java.lang.ExceptionInInitializerError: java.util.MissingResourceException:
Can't find bundle for base name javax.jdo.Bundle, locale en_US
at
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:6
95)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:667)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:547)
at javax.jdo.I18NHelper.loadBundle(I18NHelper.java:143)
at javax.jdo.I18NHelper.<init>(I18NHelper.java:49)
at javax.jdo.I18NHelper.getInstance(I18NHelper.java:61)
at javax.jdo.spi.JDOImplHelper.<clinit>(JDOImplHelper.java)
at aqueduct.Customer.<clinit>(Customer.java)
at java.lang.reflect.Field.getLong(Native Method)
at com.ibm.rmi.io.ObjectStreamClass.init(ObjectStreamClass.java:495)
at
com.ibm.rmi.io.ObjectStreamClass.lookupInternal(ObjectStreamClass.java:167)
>
at com.ibm.rmi.io.ObjectStreamClass.lookup(ObjectStreamClass.java:120)
at com.ibm.rmi.util.RepositoryId.createHashString(RepositoryId.java:627)
at com.ibm.rmi.util.RepositoryId.createForJavaType(RepositoryId.java:786)
at com.ibm.rmi.util.RepositoryId.createForAnyType(RepositoryId.java:871)
at com.ibm.rmi.util.RepositoryId.createForAnyType(RepositoryId.java:855)
at com.ibm.tools.rmic.iiop.Type.setRepositoryID(Type.java:990)
at com.ibm.tools.rmic.iiop.CompoundType.initialize(CompoundType.java:733)
at com.ibm.tools.rmic.iiop.ValueType.initialize(ValueType.java:241)
at com.ibm.tools.rmic.iiop.ValueType.forValue(ValueType.java:101)
atcom.ibm.tools.rmic.iiop.CompoundType.makeType(CompoundType.java(Compiled
Code))
at
com.ibm.tools.rmic.iiop.CompoundType$Method.<init>(CompoundType.java(Compile
d Code))
at
com.ibm.tools.rmic.iiop.CompoundType.addAllMethods(CompoundType.java(Compile
d Code))
at com.ibm.tools.rmic.iiop.ValueType.initialize(ValueType.java:230)
at com.ibm.tools.rmic.iiop.ValueType.forValue(ValueType.java:101)
atcom.ibm.tools.rmic.iiop.CompoundType.makeType(CompoundType.java(Compiled
Code))
at
com.ibm.tools.rmic.iiop.CompoundType$Method.<init>(CompoundType.java(Compile
d Code))
at
com.ibm.tools.rmic.iiop.CompoundType.addAllMethods(CompoundType.java:1279)
at
com.ibm.tools.rmic.iiop.RemoteType.isConformingRemoteInterface(RemoteType.ja
va:207)
at com.ibm.tools.rmic.iiop.RemoteType.initialize(RemoteType.java:156)
at com.ibm.tools.rmic.iiop.RemoteType.forRemote(RemoteType.java:75)
at
com.ibm.tools.rmic.iiop.CompoundType.addRemoteInterfaces(CompoundType.java:1
411)
at
com.ibm.tools.rmic.iiop.ImplementationType.initialize(ImplementationType.jav
a:151)
at
com.ibm.tools.rmic.iiop.ImplementationType.forImplementation(ImplementationT
ype.java:77)
atcom.ibm.tools.rmic.iiop.StubGenerator.getTopType(StubGenerator.java:128)
>
at com.ibm.tools.rmic.iiop.Generator.generate(Generator.java:263)
at sun.rmi.rmic.Main.doCompile(Main.java:547)
at sun.rmi.rmic.Main.compile(Main.java:137)
at sun.rmi.rmic.Main.main(Main.java:786)
error: An error has occurred in the compiler; Please visit the URL
http://www.ibm.com/java/jdk/support for information on
investigating/reporting this problem. 1 error RMIC Command returns RC = 1.
The problems which stopped RMIC are displayed, and have also been recorded
in the log file. -
PHP iTunes U authentication issue
I’ve been working with integrating iTunes U with Moodle. On the Moodle site there is an iTunes U block available for integrating the 2 systems. I’ve been trying to use this and I am able to get to the iTunes U site from Moodle, but I am not being signed into the site as an authenticated user. I can’t seem to figure out why. I was however able to authenticate with a Perl script.
The Moodle block has a Setting section where I fill in all my site specific information such as the Shared Secret. This is definitely working fine as I am able to get to my site without issue. But, the passing of the credentials and identity do not seem to be working because I am not being signed in as an authenticated user.
Right now my Credentials are very basic – formatted just like the sample ones – such as:
Adminstrator@urn:mace:itunesu.com:sites:example.edu (where example.edu is my school’s name).
Can anyone review the files below and shed some light on why I am not getting authenticated?
Thanks.
Itunes_redirect.php
<?php // $Id: itunesu_redirect.php,v 1.1 2008/06/06 19:08:49 mchurch Exp $
require_once('../../config.php');
global $USER, $CFG;
require_once($CFG->dirroot.'/lib/weblib.php');
require_once($CFG->dirroot.'/lib/moodlelib.php');
require_once($CFG->dirroot.'/blocks/itunesu/itunes.php');
if (!isloggedin()) {
print_error('sessionerroruser', '' , $CFG->wwwroot);
$destination = required_param('destination', SITEID, PARAM_INT); // iTunes U destination
$name = fullname($USER);
/* Create instance of the itunes class and initalized instance variables */
$itunes = new itunes();
$itunes->setUser($name, $USER->email, $USER->username, $USER->id);
/* more work needs to be done with determining credentials */
$itunes->setAdminCredential($CFG->blockitunesuadmincred);
$itunes->setInstructorCredential($CFG->blockitunesuinsturctcred);
$itunes->addAdminCredentials();
$itunes->setSiteURL($CFG->blockitunesuurl);
$itunes->setSharedSecret($CFG->blockitunesusharedsecret);
$itunes->setDestination($destination);
$itunes->invokeAction();
?>
Itunes.php file:
<?php
# iTunes Authentication Class
# Written by Aaron Axelsen - [email protected]
# University of Wisconsin - Whitewater
# Edited by Ryan Pharis, [email protected] - Texas Tech University
# Class based on the Apple provided ITunesU.pl
# example script.
# REQUIREMENTS:
# PHP:
# - tested with PHP 5.2
# - make sure hash_hmac() works - <a class="jive-link-external-small" href="http://us2.php.net/manual/en/function.hash-hmac.php">http://us2.php.net/m anual/en/function.hash-hmac.php</a>
# - php curl support
#Example Usage:
<?php
include('itunes.php');
$itunes = new itunes();
// show loading screen while processing request
//include(ROOTURL.'/includes/pages/itunesload.php');
// Set User
$itunes->setUser("Jane Doe", "[email protected]", "jdoe", "42");
// Set Admin Permissions
$itunes->addAdminCredentials();
// Set Instructor Permission
//$itunes->addInstructorCredential('uniquename_fromitunes');
// Set Student Credential
//$itunes->addStudentCredential('uniquename_fromitunes');
// Set Handle
// This will direct login to the specific page
#$itunes->setHandle('');
// iTunes U Auth Debugging
$itunes->setDebug(true);
$itunes->invokeAction();
?>
class itunes {
// Oktech - add
var $authtoken;
var $siteURL;
var $debugSuffix;
var $sharedSecret;
var $administratorCredential;
var $instructorCredential;
var $studentCredential;
var $urlonly;
var $urlcredentials;
var $destination;
// Oktech
* Create iTunes Object
public function __construct() {
$this->setDebug(false);
$this->siteURL = 'https://deimos.apple.com/WebObjects/Core.woa/Browse/example.edu';
$this->directSiteURL = 'https://www.example.edu/cgi-bin/itunesu';
$this->debugSuffix = '/abc1234';
$this->sharedSecret = 'STRINGOFTHIRTYTWOLETTERSORDIGITS';
$this->administratorCredential = 'Administrator@urn:mace:itunesu.com:sites:example.edu';
$this->studentCredential = 'Student@urn:mace:itunesu.com:sites:example.edu';
$this->instructorCredential = 'Instructor@urn:mace:itunesu.com:sites:example.edu';
$this->credentials = array();
// Set domain
$this->setDomain();
// Oktech add
public function getInstructorCredential() {
return $this->instructorCredential;
public function setInstructorCredential($credential) {
$this->instructorCredential = $credential;
public function getStudentCredential() {
return $this->studentCredential;
public function setStudentCredential($credential) {
$this->studentCredential = $credential;
public function getAdminCredential() {
return $this->administratorCredential;
public function setAdminCredential($credential) {
$this->administratorCredential = $credential;
public function getSharedSecret() {
return $this->sharedSecret;
public function setSharedSecret($sharedsecret) {
$this->sharedSecret = $sharedsecret;
public function getAuthToken() {
return $this->authtoken;
public function setAuthToken($authtoken) {
$this->authtoken = $authtoken;
public function getDebugSuffix() {
return $this->directSiteURL;
public function setDebugSuffix($debugsuffix) {
$this->directSiteURL = $debugsuffix;
public function getSiteURL() {
return $this->siteURL;
public function setSiteURL($siteurl) {
$this->siteURL = $siteurl;
* Extract the URL from the return html
* block from the iTunes U server. Replace
* Apple's itmss tag with https
private function extractURL($htmlblock) {
$remainder = '';
$pos = 0;
$result = '';
$remainder = strstr($htmlblock, "_open('i");
$remainder = substr_replace($remainder, '', 0, 7);
$remainder = substr_replace($remainder, 'https', 0, 5);
$pos = strpos($remainder, "');");
$result = substr_replace($remainder, '', $pos);
$this->urlonly = $result;
public function getExtractedURL() {
return $this->urlonly;
* Extract the credentials part from the returned URL from
* the iTunes U server
public function extractURLCredentials($url) {
$result = '';
$pos = 0;
$remainder = strstr($url, "gtcc.edu?");
$remainder = substr_replace($remainder, '', 0, 9);
$this->urlcredentials = $remainder;
public function getExtractedURLCredentials() {
return $this->urlcredentials;
public function setDestination($destination) {
$this->destination = $destination;
public function getDestination() {
return $this->destination;
// Oktech add
* Add's admin credentials for a given user
public function addAdminCredentials() {
$this->addCredentials($this->administratorCredential);
* Add Student Credential for a given course
public function addStudentCredential($unique) {
$this->addCredentials($this->studentCredential.":$unique");
* Add Instructor Credential for a given course
public function addInstructorCredential($unique) {
$this->addCredentials($this->instructorCredential.":$unique");
* Set User Information
public function setUser($name, $email, $netid, $userid) {
$this->name = $name;
$this->email = $email;
$this->netid = $netid;
$this->userid = $userid;
return true;
* Set the Domain
* Takes the siteURL and splits off the destination, hostname and action path.
private function setDomain() {
$tmpArray = split("/",$this->siteURL);
$this->siteDomain = $tmpArray[sizeof($tmpArray)-1];
$this->actionPath = preg_replace("/https:\/\/(.+?)\/.*/",'$1',$this->siteURL);
$pattern = "/https:\/\/".$this->actionPath."(.*)/";
$this->hostName = preg_replace($pattern,'$1',$this->siteURL);
$this->destination = $this->siteDomain;
return true;
* Set the Handle
* Takes the handle as input and forms the get upload url string
* This is needed for using the API to upload files directly to iTunes U
public function setHandle($handleIn) {
$this->handle = $handleIn;
$this->getUploadUrl = "http://deimos.apple.com/WebObjects/Core.woa/API/GetUploadURL/".$this->siteDoma in.'.'.$this->handle;
return true;
* Get Identity String
* Combine user identity information into an appropriately formatted string.
* take the arguments passed into the function copy them to variables
private function getIdentityString() {
# wrap the elements into the required delimiters.
return sprintf('"%s" <%s> (%s) [%s]', $this->name, $this->email, $this->netid, $this->userid);
* Add Credentials to Array
* Allows to push multiple credientials for a user onto the array
public function addCredentials($credentials) {
array_push($this->credentials,$credentials);
return true;
* Get Credentials String
* this is equivalent to join(';', @_); this function is present
* for consistency with the Java example.
* concatenates all the passed in credentials into a string
* with a semicolon delimiting the credentials in the string.
private function getCredentialsString() {
#make sure that at least one credential is passed in
if (sizeof($this->credentials) < 1)
return false;
return implode(";",$this->credentials);
private function getAuthorizationToken() {
# Create a buffer with which to generate the authorization token.
$buffer = "";
# create the POST Content and sign it
$buffer .= "credentials=" . urlencode($this->getCredentialsString());
$buffer .= "&identity=" . urlencode($this->identity);
$buffer .= "&time=" . urlencode(mktime());
# returns a signed message that is sent to the server
$signature = hash_hmac('SHA256', $buffer, $this->sharedSecret);
# append the signature to the POST content
return sprintf("%s&signature=%s", $buffer, $signature);
* Invoke Action
* Send a request to iTunes U and record the response.
* Net:HTTPS is used to get better control of the encoding of the POST data
* as HTTP::Request::Common does not encode parentheses and Java's URLEncoder
* does.
public function invokeAction() {
$this->identity = $this->getIdentityString();
$this->token = $this->getAuthorizationToken();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->generateURL() . '?' . $this->token);
//curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Oktech - change
$this->authtoken = curl_exec($ch);
curl_close($ch);
/* Start a new sesstion and send a request for specific content with the appropriate credentials */
$ch = curl_init();
$this->extractURL($this->authtoken);
$this->extractURLCredentials($this->urlonly);
curl_setopt($ch, CURLOPT_URL, $this->siteURL . '.' . $this->destination . '?' . $this->urlcredentials);
//curl_setopt($ch, CURLOPT_POST, 1);
curl_exec($ch);
curl_close($ch);
// Oktech
* Auth and Upload File to iTunes U
* This method is said to not be as heavily tested by apple, so you may have
* unexpected results.
* $fileIn - full system path to the file you desire to upload
public function uploadFile($fileIn) {
$this->identity = $this->getIdentityString();
$this->token = $this->getAuthorizationToken();
// Escape the filename
$f = escapeshellcmd($fileIn);
// Contact Apple and Get the Upload URL
$upUrl = curl_init($this->getUploadUrl.'?'.$this->token);
curl_setopt($upUrl, CURLOPT_RETURNTRANSFER, true);
$uploadURL = curl_exec($upUrl);
$error = curl_error($upUrl);
$http_code = curl_getinfo($upUrl ,CURLINFOHTTPCODE);
curl_close($upUrl);
print $http_code;
print "
$uploadURL";
if ($error) {
print "
$error";
# Currently not working using php/curl functions. For now, we are just going to echo a system command .. see below
#// Push out the designated file to iTunes U
#// Build Post Fields
#$postfields = array("file" => "@$fileIn");
#$pushUrl = curl_init($uploadURL);
#curl_setopt($pushUrl, CURLOPT_FAILONERROR, 1);
#curl_setopt($pushUrl, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
#curl_setopt($pushUrl, CURLOPT_VERBOSE, 1);
#curl_setopt($pushUrl, CURLOPT_RETURNTRANSFER, true);
#curl_setopt($pushUrl, CURLOPT_POST, true);
#curl_setopt($pushUrl, CURLOPT_POSTFILEDS, $postfields);
#$output = curl_exec($pushUrl);
#$error = curl_error($pushUrl);
#$http_code = curl_getinfo($pushUrl, CURLINFOHTTPCODE);
#curl_close($pushUrl);
#print "
#print $http_code;
#print "
$output";
#if ($error) {
# print "
$error";
// Set the php time limit higher so it doesnt time out.
settimelimit(1200);
// System command to initiate curl and upload the file. (Temp until I figure out the php curl commands to do it)
$command = "curl -S -F file=@$f $uploadURL";
echo "
echo $command;
exec($command, $result, $error);
if ($error) {
echo "I'm busted";
} else {
print_r($result);
echo $command;
* Set Debugging
* Enable/Disable debugging of iTunes U Authentication
public function setDebug($bool) {
if ($bool) {
$this->debug = true;
} else {
$this->debug = false;
return true;
* Generate Site URL
* Append debug suffix to end of url if debugging is enabled
private function generateURL() {
if ($this->debug) {
return $this->siteURL.$this->debugSuffix;
} elseif ($this->isHandleSet()) {
return $this->directSiteURL.'.'.$this->handle;
} else {
return $this->siteURL;
* Check to see if the handle is set
private function isHandleSet() {
if (isset($this->handle))
return true;
else
return false;
?>Janet ... hmmm ... I suppose it could also be "Jane T. Smith" ... ah well, anywho,
One thing to understand when it comes to credentialling is that, even if your transfer CGI (Moodle block) doesn't work ... if you redirect someone to your iTunes U site, that person will -always- carry two credentials ... "Unauthenticated" and "All". You do not have to assign the credentials ... they are automatic.
Put it this way, if I direct you to my site:
https://deimos.apple.com/WebObjects/Core.woa/Browse/uic.edu
if you click on that link, authentication or no, Apple will give you the "Unauthenticated" and "All" credentials. Anywhere on my site where those creds are good, you'll have access.
Hmmm ... maybe I can rephrase it this way ... there are four credentials that are a part of every site ...
All ... everyone who accesses your site gets this cred ... everyone.
Authenticated ... if you pass a valid iTunes U URL request for a user, he/she will get this cred.
Unauthenticated ... this cred is given whenever someone gets to your site -without- a tokenized (credentials, identity, time, signature) URL request. For example, if someone uses your site base URL without any modification.
Administrator ... this cred has total access to a site.
So if you access your site using your admin cred, you'll actually carry three creds ... "Administrator" (of course), but also "All" and "Authenticated".
So why this long discussion of creds? Well, if you're getting in with the "Unauthenticated" credential, it's a sure sign your transfer CGI (Moodle thingy) isn't working ... at all. It's not that you can't pass the admin cred ... or identity info ... you're not passing any info. And because you're not passing any info, iTunes U does the default thing ... give you "All" and "Unauthenticated" access. -
Issue w/ Case Differences Using the IBM Directory Server MA
We have the following issue using the IBM Directory Server MA using FIM 2010 R2 (Version 4.1.3479.0).
We provision a new object, e.g., uid=jdoe,ou=users,o=contoso, into an instance of IBM Directory Server
The object is created in IBM Directory Server as uid=jdoe,ou=users,o=contoso
A Full Import on the IBM Directory Server MA runs and confirms the export
Subsequent imports, sync, and exports run successfully
<Time passes>
A Full Import on the IBM Directory Server MA runs, and this object shows up as a staging-error (uid=jdoe,ou=Users,o=contoso)
Subsequent imports and syncs report errors on this object (staging-error)
Note that we do not manipulate the anchor (DN) of this object once it is created in IBM Directory Server. Other attributes are synchronized, but the object is never renamed/moved. This case change does not happen with all of the objects brought
in during the Full Import, but the number of instances do increase periodically. At this point, it does look like the import is changing from a lowercase "u" to an uppercase "U" but not vice versa.
I found a related
TechNet article containing the following remark:
"IBM Directory Server does not guarantee that the case of a DN component will match in all instances. On a synchronization or import from IBM Directory Server, this can manifest itself as an unexpected update. For example, if you create
O=TEST, and then create the user cn=MikeDan,O=TEST, this might be imported from IBM Directory Server as
cn=MikeDan,O=test. Because of the case difference, FIM treats this as an update on subsequent full imports."
Unfortunately, the article does not propose a resolution.
Has anyone encountered this issue? More importantly has anyone resolved this or found an acceptable workaround?
Note that deleting the connector space is not an acceptable workaround. :)I remember experiencing this issue when we were on 5.0, and I believe it persists through 5.1 as well.
There is a comment in the 5.2 release notes that something similar was fixed:
Changing case sensitive attribute values failed in MMR. (4624693)
If I had to take a wild guess, I would say that the server does some internal checking to see if the value has changed, possibly based on the attribute syntax, to avoid replicating "changes" that really don't change anything except case. I doubt that all your custom attributes are case-sensitive, though. Enabling replication probably "turns on" this behavior, which doesn't go away even if replication is disabled.
In any case, you're probably out of luck unless/until you upgrade to 5.2. -
Using JDO in a Servlet container/app server
Hi,
I was just wondering what Solarmetric recommends when using Kodo in a
servlet container/app server. Specifically the following:
1. Should each user session maintain a PersistenceManager or should the
PM be created per request? I am thinking it might be expensive to
maintain PMs across requests since you may have idle sessions and the
PMs may hold database resources? But since PMs aren't pooled in Kodo is
creating/closing a PM per request expensive or is it offset by Kodo's
connection pooling?
2. Is it advisable to store data to be displayed on a JSP by storing the
JDO instances themselves or serializable proxies (simple data beans) of
these objects in a user's session?
3. If you can store the JDO instances in the session, do you need to
make them transient instances using makeTransient() and call close() the
PersistenceManager?
Thanks in advance,
KhamsoukThese are all very good questions. There really is no one right answer to any
of them, so I'll just try to educate you on the issues involved and you can
make your own decision. Hopefully other people who are actually using Kodo
in a servlet/JSP environment will chime in too.
1. Should each user session maintain a PersistenceManager or should the
PM be created per request? I am thinking it might be expensive to
maintain PMs across requests since you may have idle sessions and the
PMs may hold database resources? But since PMs aren't pooled in Kodo is
creating/closing a PM per request expensive or is it offset by Kodo's
connection pooling?As long as you are outside of a datastore transaction, a PM does not maintain
any database resources. The only significant state it maintains is a soft
cache of persistent objects that have already been instantiated. If you are
using Kodo 2.3 RC1 and have no set the
com.solarmetric.kodo.DefaultFetchThreshold property to -1, then some
large collections you obtain from query results or relation traversals may be
scrollable result sets on the back-end, in which case they obviously maintain
some database resources.
2. Is it advisable to store data to be displayed on a JSP by storing the
JDO instances themselves or serializable proxies (simple data beans) of
these objects in a user's session?
3. If you can store the JDO instances in the session, do you need to
make them transient instances using makeTransient() and call close() the
PersistenceManager?I'll address these together. JDO fully supports serialization, and in fact
I think you'll find it does so in exactly the way that you want. If you choose
to store serialized persistent objects in the session, then during
serialization the objects will transparently pull in all of their persistent
state and relations, so the entire object graph is serialized. When you
deserialize, the objects will no longer be attached to their persistence
manager -- they will be transient.
Another options is to store the object IDs in the session, and re-retrieve
the persistent objects for each web request.
One design pattern that can probably net very good performance is to maintain
a global read-only persistence manager that you use to dereference these IDs.
Of course, if you ever want to change an object, you'll have to re-fetch it
in a new persistence manager, and evict it from the global manager's cache.
I hope this helps. -
Kodo JDO 2.5.0 beta now available
All,
Kodo JDO 2.5.0 beta 1 is now available at:
http://solarmetric.com/Software/beta/2.5.0/
Some notable new features since 2.4 include:
- Queries have received a major overhaul. Queries now support unbound
variables, Collections as parameters to generate SQL IN (...) clauses,
traversing fields of persistence-capable parameters, and more. The SQL
produced by queries is also much more efficient.
- Kodo JDO EE can now participate correctly in XA transactions.
- Kodo JDO now includes support for custom fetch groups.
- Queries and Extents can be constructed for interfaces.
- Multi-table mappings now permit different tables to have different
primary key column names.
- The data cache framework can now cache query results.
Known issues:
- The JCA resource adapter will not seamlessly work with WebLogic -- to
use it with WebLogic, it is necessary to unzip the kodo.rar and remove
empty config-param-value elements
(i.e. <config-properrty-value></config-property-value>).
- We have done only limited integration testing with our IDE plugins.
- Cached query results do not obey the timeouts configured for the classes
in the query's access path.
As usual, please discuss any issues, desires, etc. on the beta newsgroup:
news://news.solarmetric.com/solarmetric.kodo.beta
Enjoy,
-Patrick
Patrick Linskey
SolarMetric Inc.All,
Kodo JDO 2.5.0 beta 1 is now available at:
http://solarmetric.com/Software/beta/2.5.0/
Some notable new features since 2.4 include:
- Queries have received a major overhaul. Queries now support unbound
variables, Collections as parameters to generate SQL IN (...) clauses,
traversing fields of persistence-capable parameters, and more. The SQL
produced by queries is also much more efficient.
- Kodo JDO EE can now participate correctly in XA transactions.
- Kodo JDO now includes support for custom fetch groups.
- Queries and Extents can be constructed for interfaces.
- Multi-table mappings now permit different tables to have different
primary key column names.
- The data cache framework can now cache query results.
Known issues:
- The JCA resource adapter will not seamlessly work with WebLogic -- to
use it with WebLogic, it is necessary to unzip the kodo.rar and remove
empty config-param-value elements
(i.e. <config-properrty-value></config-property-value>).
- We have done only limited integration testing with our IDE plugins.
- Cached query results do not obey the timeouts configured for the classes
in the query's access path.
As usual, please discuss any issues, desires, etc. on the beta newsgroup:
news://news.solarmetric.com/solarmetric.kodo.beta
Enjoy,
-Patrick
Patrick Linskey
SolarMetric Inc. -
Please help: Two-Sided One-to-One Mapping issues warning when owned instance does not exist
Hello,
Is it expected behavior? I have two classes A and B, B references A and its
foreign key column is its PK
A owns B (marked as inverse-owner in JDO metadata) when I access A.getB() if
B does not exist I get a warning.
Is it to be expected? Does two sided relation always require presence of
both sides of the relation and does nto fit my need?
Is there any way to have bi-directional association in my case with owned
record being optional?
Should I use two simple one sided one-to-one or may be simple one sided from
child to owner and One-to-One with Inverse Columns from owner to child
What are disadvantages of using two one sided (simple and inverse) vs.
two-sided?
Thank you
AlexHere is what I had to do to solve this issue:
Basically I had to add the MSSQL TCP/IP port as an end-point in Azure. After I did that, then I was able to create the data-source. However, I was only able to authenticate with a SQL account, as any domain account would return me an error saying that the
domain isn't trusted.
What puzzles me here is how come the Data Source Manager would inform me that an account username/password was invalid, but it would fail/timeout if I provided valid credentials (!?!?!!?) -
Java.lang.ExceptionInInitializerError Issue
Previous problem fixed: Thank you. How about this attached problem:
Note: I am able to "refresh" database schema fine, using the same
properties file. So I know there are no connectivity or config issues.
Thanks!
java.lang.ExceptionInInitializerError: javax.jdo.JDOFatalUserException:
Exception thro\
wn by getPersistenceManagerFactory(Properties)
NestedThrowables:
java.lang.reflect.InvocationTargetException
at
javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:274)
at
javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:218)
at bilgidata.JDOFactory.<clinit>(Unknown Source)
at
org.apache.jsp.comments_0005flist$jsp._jspService(comments_0005flist$jsp.ja\
va:135)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.j\
ava:202)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(
java.lang.reflect.InvocationTargetException:
java.lang.NoClassDefFoundError: javax/xml\
/transform/TransformerConfigurationException
at
com.solarmetric.modules.tools.compiler.MetaDataParser.parseMetaData(Unknown\
Source)
at
com.solarmetric.kodo.meta.JDOMetaDataParser.parseMetaData(Unknown Source)
at
com.solarmetric.modules.tools.compiler.MetaDataParser.parseMetaData(Unknown\
Source)
at
com.solarmetric.modules.tools.compiler.MetaDataParser.parseMetaData(Unknown\
Source)
at com.solarmetric.kodo.meta.ClassMetaData.newInstance(Unknown
Source)
at com.solarmetric.kodo.meta.ClassMetaData.getInstance(Unknown
Source)
at
com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.addPersistentT\
ype(Unknown Source)
at
com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.loadPersistent\
Types(Unknown Source)
at
com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.setup(Unknown
Source)Fred Lucas wrote:
Looks like you don't have jaxp.jar in your classpath. Make sure that all
the jars we ship with are available in your runtime environment.
-Fred
Fred Lucas
SolarMetric Inc.
202-595-2064 x1122
http://www.solarmetric.com
Fred, thanks for your quick response.
I have double checked:
javax/xml/transform/TransformerFactoryConfiguratinException.class is in my
classpath. All javax classes are available under my WEB-INF/classes (had
to unjar them bcz I was getting package sealed errors otherwise).
Any ideas?
Thanks! -
Capture-schema issues!!!
I am trying to capture the schema details from pointbase db that come bundled with J2ee 1.4
I am running into :-
D:\>D:\appserver\Sun\bin\capture-schema -dburl jdbc:pointbase:server://localhost
:9092/vinman -schemaname vinman -username apps -password apps -driver com.pointb
ase.jdbc.jdbcUniversalDriver -table CustomerBean -out CustomerBean.dbschema
using dburl: jdbc:pointbase:server://localhost:9092/vinman
using username: apps
using password: apps
using driver: com.pointbase.jdbc.jdbcUniversalDriver
using schemaname: vinman
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.sun.forte4j.modules.dbmodel.jdbcimpl.ConnectionProvider.<init>(Co
nnectionProvider.java:46)
at com.sun.jdo.api.persistence.mapping.ejb.CaptureSchema.main(CaptureSch
ema.java:120)
Exception in thread "main" java.lang.NullPointerException
at com.sun.jdo.api.persistence.mapping.ejb.CaptureSchema.main(CaptureSch
ema.java:177)
Can someone please tell what I am doing wrong?
Thanks
VineethLooks like a database/SQL driver issue
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532) -
JDO transaction, caching and stored procedures
I currently retreive an existing object, update the object, and then call
a stored procedure - all in one transaction. The issue I am running into
is that the stored proc must have the modified data available when it
selects the row (modified object) from the table. This is currently not
happening. For example, if the initial field was null, then it is updated
and the proc called, the proc only sees null. How do I specify that the
changes should be processed w/in the transaction (not commited) and
available for other processes reading the data in the same tx?
Note: everything works perfect if I manually execute the update statement
through a Statement on the connection for the stored proc. I have tried
flush().
Any ideas would be greatly appreciated!Here is a dumbed down version... I also tried doing a Query with JDO and
that returns the modified value. Basically, the code below find the
existing object, modifies a field, and then calls a stored proc to do some
processing. Unfortunately, the stored proc needs to be able to "see" the
modified data in the transaction.
public void modifyFoo( UserToken userToken,
Foo newFoo,
Integer applicationId )
PersistenceManager pm = null;
Transaction tx = null;
Integer applicationId = producerApplication.getId();
try
pm = JDOFactory.getPersistenceManager( userToken );
tx = pm.currentTransaction();
tx.begin();
FooBoId appId = new FooBoId();
appId.fooBolId = applicationId;
FooBo appDbVo = (FooBo)pm.getObjectById( appId, true );
appDbVo.setEffectiveDate( newFoo.getEffectiveDate() );
String fooNumber = executeFooBar( userToken, applicationId
appDbVo.setFooNumber( fooNumber );
tx.commit();
private String executeFooBar( UserToken userToken, Integer
applicationId )
throws PulsarSystemException, ValidationException
String licenseNumber = null;
try
// Get a connection from the persistence manager
Connection connection = JDOFactory.getConnection( userToken );
connection.setAutoCommit( false );
CallableStatement cs = connection.prepareCall( "{call
sys_appl_pkg.fooBar(?,?,?,?,?,?)}" );
// Register the type of the return value
cs.registerOutParameter( 4, Types.NUMERIC );
cs.registerOutParameter( 5, Types.NUMERIC );
cs.registerOutParameter( 6, Types.VARCHAR );
// Set parameters:
cs.setString( 1, "Test" );
cs.setInt( 2, applicationId.intValue() );
cs.setInt( 3, 0 );
catch( SQLException ex )
ex.printStackTrace();
return licenseNumber;
Patrick Linskey wrote:
Can you post the code that you're executing?
-Patrick
On Mon, 14 Jul 2003 20:38:09 +0000, Josh Zook wrote:
I currently retreive an existing object, update the object, and then call
a stored procedure - all in one transaction. The issue I am running into
is that the stored proc must have the modified data available when it
selects the row (modified object) from the table. This is currently not
happening. For example, if the initial field was null, then it is updated
and the proc called, the proc only sees null. How do I specify that the
changes should be processed w/in the transaction (not commited) and
available for other processes reading the data in the same tx?
Note: everything works perfect if I manually execute the update statement
through a Statement on the connection for the stored proc. I have tried
flush().
Any ideas would be greatly appreciated!
Patrick Linskey
SolarMetric Inc. -
I've been searching through this board and through other sources to find some answers..... I recently tried to update fusion middleware (Fusion Middleware 11g Release 1 (11.1.1.5)) on top of an existing copy we had installed due to a forms error we kept encountering. I ran the install without any issues and ran it without any "config" options.... After all was said and I done, I was able to start the adminserver services without issues, however my WLS_FORMS will no longer start and I'm not clear as to why at this point and I've pretty much wasted the last day trying to troubleshoot this.... We're running Weblogic and Forms 11g on a Windows 2008 R2 (64bit) server. Here's the output from the WLS_FORMS log... any help would be appreciated!
+<Feb 2, 2012 9:13:49 AM> <INFO> <NodeManager> <Server output log file is 'C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\WLS_FORMS\logs\WLS_FORMS.out'>+
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>SETLOCAL
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>GOTO :ENDFUNCTIONS
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>set DOMAIN_HOME=C:\Oracle\Middleware\user_projects\domains\ClassicDomain
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>for %i in ("C:\Oracle\Middleware\user_projects\domains\ClassicDomain") do set DOMAIN_HOME=%~fsi
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>set DOMAIN_HOME=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>call "C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\bin\setDomainEnv.cmd"
+'else' is not recognized as an internal or external command,+
operable program or batch file.
+.+
+.+
JAVA Memory arguments: -Xms256m -Xmx512m -XX:MaxPermSize=512m
+.+
WLS Start Mode=Development
+.+
CLASSPATH=C:\Oracle\MIDDLE~1\WLSERV~1.3\server\ext\jdbc\oracle\11g\ojdbc6dms.jar;C:\Oracle\MIDDLE~1\patch_wls1033\profiles\default\sys_manifest_classpath\weblogic_patch.jar;C:\PROGRA~1\Java\JDK16~1.0_2\lib\tools.jar;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\weblogic_sp.jar;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\weblogic.jar;C:\Oracle\MIDDLE~1\modules\features\weblogic.server.modules_10.3.3.0.jar;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\webservices.jar;C:\Oracle\MIDDLE~1\modules\ORGAPA~1.1/lib/ant-all.jar;C:\Oracle\MIDDLE~1\modules\NETSFA~1.0_1/lib/ant-contrib.jar;C:\Oracle\Middleware\wlserver_10.3\server\lib\weblogic.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.dms_11.1.1\dms.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.jmx_11.1.1\jmxframework.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.jmx_11.1.1\jmxspi.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.odl_11.1.1\ojdl.jar;C:\Oracle\Middleware\wlserver_10.3\server\lib\weblogic.jar;C:\Oracle\Middleware\FORMS\opmn\lib\nonj2eembeans.jar;C:\Oracle\Middleware\FORMS\jdbc\lib\ojdbc6.jar;C:\Oracle\Middleware\FORMS\opmn\lib\optic.jar;C:\Oracle\Middleware\FORMS\opmn\lib\iasprovision.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.ldap_11.1.1\ldapjclnt11.jar;C:\Oracle\Middleware\oracle_common\jlib\rcucommon.jar;C:\Oracle\Middleware\FORMS\opmn\lib\opmneditor.jar;C:\Oracle\Middleware\FORMS\opmn\lib\wlfullclient.jar;C:\Oracle\MIDDLE~1\ORACLE~1\soa\modules\commons-cli-1.1.jar;C:\Oracle\MIDDLE~1\ORACLE~1\soa\modules\oracle.soa.mgmt_11.1.1\soa-infra-mgmt.jar;C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.jrf_11.1.1\jrf.jar;C:\Oracle\MIDDLE~1\WLSERV~1.3\common\derby\lib\derbyclient.jar;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\xqrl.jar
+.+
PATH=C:\Oracle\MIDDLE~1\patch_wls1033\profiles\default\native;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\native\win\x64;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\bin;C:\Oracle\MIDDLE~1\modules\ORGAPA~1.1\bin;C:\PROGRA~1\Java\JDK16~1.0_2\jre\bin;C:\PROGRA~1\Java\JDK16~1.0_2\bin;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\native\win\x64;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\bin;C:\PROGRA~1\Java\JDK16~1.0_2\jre\bin;C:\PROGRA~1\Java\JDK16~1.0_2\bin;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\native\win\x64\oci920_8;C:\Oracle\product\11.2.0\client_1\bin;C:\Oracle\product\11.2.0\client32\bin;C:\Oracle\Middleware\FORMS\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\PROGRA~2\MICROF~1\NETEXP~1.1\Base\Bin\WIN64;C:\Oracle\Middleware\oracle_common\bin;C:\MinGW\mingw64\bin;c:\PROGRA~2\Adobe\READER~1.0\Reader;C:\Program Files\ASCI\ActiveBatchV8\;C:\Oracle\Middleware\FORMS\opmn\bin;C:\Oracle\Middleware\FORMS\opmn\lib;C:\Oracle\Middleware\FORMS\perl\bin;C:\Oracle\Middleware\FORMS\OPatch;;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\native\win\x64\oci920_8
+.+
+* To start WebLogic Server, use a username and *+
+* password assigned to an admin-level user. For *+
+* server administration, use the WebLogic Server *+
+* console at http:\\hostname:port\console *+
starting weblogic with Java version:
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b17, mixed mode)
Starting WLS with line:
C:\PROGRA~1\Java\JDK16~1.0_2\bin\java -client -Xms256m -Xmx512m -XX:MaxPermSize=512m -Dweblogic.Name=WLS_FORMS -Djava.security.policy=C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\weblogic.policy -Dweblogic.system.BootIdentityFile=C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\WLS_FORMS\data\nodemanager\boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=false -Dweblogic.ReverseDNSAllowed=false -Xverify:none -da -Dplatform.home=C:\Oracle\MIDDLE~1\WLSERV~1.3 -Dwls.home=C:\Oracle\MIDDLE~1\WLSERV~1.3\server -Dweblogic.home=C:\Oracle\MIDDLE~1\WLSERV~1.3\server -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -Doracle.home=C:\Oracle\Middleware\FORMS -Ddomain.home=C:\Oracle\Middleware\user_projects\domains\ClassicDomain -Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m -Djava.ext.dirs=C:\Oracle\Middleware\FORMS\jdk\jre\lib\ext -Doracle.security.jps.config=C:\Oracle\Middleware\user_projects\domains\ClassicDomain\config\fmwconfig\jps-config.xml -Doracle.home=C:\Oracle\Middleware\FORMS -Ddomain.home=C:\Oracle\Middleware\user_projects\domains\ClassicDomain -Doracle.instance=C:\Oracle\Middleware\Instance\Frm_Domain -Doracle.instance.name=Frm_Domain -Doracle.forms.weblogic=1 -Ddomain.name=ClassicDomain -Ddomain.home=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1 -Dcommon.components.home=C:\Oracle\MIDDLE~1\ORACLE~1 -Djrf.version=11.1.1 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Djrockit.optfile=C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.jrf_11.1.1\jrocket_optfile.txt -Doracle.domain.config.dir=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\config\FMWCON~1 -Doracle.server.config.dir=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\config\FMWCON~1\servers\WLS_FORMS -Doracle.security.jps.config=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\config\fmwconfig\jps-config.xml -Djava.protocol.handler.pkgs=oracle.mds.net.protocol -Digf.arisidbeans.carmlloc=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\config\FMWCON~1\carml -Digf.arisidstack.home=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\config\FMWCON~1\arisidprovider -Dweblogic.alternateTypesDirectory=C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.ossoiap_11.1.1,C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.oamprovider_11.1.1 -Dweblogic.jdbc.remoteEnabled=false -Dwc.oracle.home=C:\Oracle\Middleware\FORMS -Dclassic.oracle.home=C:\Oracle\Middleware\FORMS -Dem.oracle.home=C:\Oracle\Middleware\oracle_common -Djava.awt.headless=true -Dweblogic.management.discover=false -Dweblogic.management.server=http://192.168.200.166:7002 -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=C:\Oracle\MIDDLE~1\patch_wls1033\profiles\default\sysext_manifest_classpath -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic1 weblogic.Server
+<Feb 2, 2012 9:13:50 AM AST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 17.0-b17 from Sun Microsystems Inc.>+
+<Feb 2, 2012 9:13:52 AM AST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 10.3.3.0 Fri Apr 9 00:05:28 PDT 2010 1321401 >+
+<Feb 2, 2012 9:13:53 AM AST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>+
+<Feb 2, 2012 9:13:53 AM AST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool>+
+<Feb 2, 2012 9:13:53 AM AST> <Notice> <Log Management> <BEA-170019> <The server log file C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\WLS_FORMS\logs\WLS_FORMS.log is opened. All server side log events will be written to this file.>+
+<Feb 2, 2012 9:14:00 AM AST> <Error> <Security> <BEA-090870> <The realm "myrealm" failed to be loaded: weblogic.security.service.SecurityServiceException: com.bea.common.engine.ServiceInitializationException: javax.jdo.JDOFatalInternalException: Unexpected exception caught.+
NestedThrowables:
java.lang.reflect.InvocationTargetException.
weblogic.security.service.SecurityServiceException: com.bea.common.engine.ServiceInitializationException: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
+ at weblogic.security.service.CSSWLSDelegateImpl.initializeServiceEngine(CSSWLSDelegateImpl.java:342)+
+ at weblogic.security.service.CSSWLSDelegateImpl.initialize(CSSWLSDelegateImpl.java:221)+
+ at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.InitializeServiceEngine(CommonSecurityServiceManagerDelegateImpl.java:1783)+
+ at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initializeRealm(CommonSecurityServiceManagerDelegateImpl.java:442)+
+ at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.loadRealm(CommonSecurityServiceManagerDelegateImpl.java:840)+
+ Truncated. see log file for complete stacktrace+
Caused By: com.bea.common.engine.ServiceInitializationException: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
+ at com.bea.common.engine.internal.ServiceEngineImpl.findOrStartService(ServiceEngineImpl.java:365)+
+ at com.bea.common.engine.internal.ServiceEngineImpl.findOrStartService(ServiceEngineImpl.java:315)+
+ at com.bea.common.engine.internal.ServiceEngineImpl.lookupService(ServiceEngineImpl.java:257)+
+ at com.bea.common.engine.internal.ServicesImpl.getService(ServicesImpl.java:72)+
+ at weblogic.security.service.internal.WLSIdentityServiceImpl.initialize(WLSIdentityServiceImpl.java:47)+
+ Truncated. see log file for complete stacktrace+
Caused By: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
+ at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:549)+
+ at com.bea.common.security.storeservice.util.StoreServiceDelegate.initJDO(StoreServiceDelegate.java:149)+
+ at com.bea.common.security.storeservice.util.StoreServiceDelegate.<init>(StoreServiceDelegate.java:98)+
+ at com.bea.common.security.internal.service.StoreServiceImpl.init(StoreServiceImpl.java:76)+
+ at com.bea.common.engine.internal.ServiceEngineImpl.findOrStartService(ServiceEngineImpl.java:363)+
+ Truncated. see log file for complete stacktrace+
Caused By: java.lang.reflect.InvocationTargetException
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)+
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)+
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)+
+ at java.lang.reflect.Method.invoke(Method.java:597)+
+ at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:534)+
+ Truncated. see log file for complete stacktrace+
Caused By: <openjpa-1.1.1-SNAPSHOT-r422266:891341 fatal internal error> org.apache.openjpa.util.InternalException: There was an error when invoking the static getInstance method on the named factory class "org.apache.openjpa.abstractstore.AbstractStoreBrokerFactory". See the nested exception for details.
+ at org.apache.openjpa.kernel.Bootstrap.getBrokerFactory(Bootstrap.java:95)+
+ at kodo.jdo.PersistenceManagerFactoryImpl.getPersistenceManagerFactory(PersistenceManagerFactoryImpl.java:41)+
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)+
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)+
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)+
+ Truncated. see log file for complete stacktrace+
Caused By: java.lang.OutOfMemoryError: Java heap space
+ at java.util.Arrays.copyOf(Arrays.java:2734)+
+ at java.util.ArrayList.ensureCapacity(ArrayList.java:167)+
+ at java.util.ArrayList.add(ArrayList.java:351)+
+ at org.apache.openjpa.conf.CacheMarshallerImpl.setInputUrlFromResourceLocation(CacheMarshallerImpl.java:226)+
+ at org.apache.openjpa.conf.CacheMarshallerImpl.endConfiguration(CacheMarshallerImpl.java:207)+
+ Truncated. see log file for complete stacktrace+
+>+
+<Feb 2, 2012 9:14:00 AM AST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>+
+<Feb 2, 2012 9:14:00 AM AST> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:+
There are 1 nested errors:
+weblogic.security.service.SecurityServiceRuntimeException: [Security:090399]Security Services Unavailable+
+ at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.doBootAuthorization(CommonSecurityServiceManagerDelegateImpl.java:916)+
+ at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initialize(CommonSecurityServiceManagerDelegateImpl.java:1050)+
+ at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:875)+
+ at weblogic.security.SecurityService.start(SecurityService.java:141)+
+ at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)+
+ at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)+
+ at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)+
+>+
+<Feb 2, 2012 9:14:00 AM AST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>+
+<Feb 2, 2012 9:14:00 AM AST> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>+
+<Feb 2, 2012 9:14:00 AM AST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>+
+<Feb 2, 2012 9:14:01 AM> <FINEST> <NodeManager> <Waiting for the process to die: 5968>+
+<Feb 2, 2012 9:14:01 AM> <INFO> <NodeManager> <Server failed during startup so will not be restarted>+
+<Feb 2, 2012 9:14:01 AM> <FINEST> <NodeManager> <runMonitor returned, setting finished=true and notifying waiters>+I increased parameter values, but still similar outcome... I noticed on our production server that the WLS_FORMS server instance has security policy attached to the config (Servers --> WLS_FORMS --> Security (tab) --> Policies (tab), whereas this update now seems to force me to select "XACMLAuthorizer" where I just can't seem to disable this option at all, so based on the error highlighted below, could that have anything to do with it?
<Feb 2, 2012 10:08:17 AM> <INFO> <NodeManager> <Server output log file is 'C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\WLS_FORMS\logs\WLS_FORMS.out'>
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>SETLOCAL
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>GOTO :ENDFUNCTIONS
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>set DOMAIN_HOME=C:\Oracle\Middleware\user_projects\domains\ClassicDomain
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>for %i in ("C:\Oracle\Middleware\user_projects\domains\ClassicDomain") do set DOMAIN_HOME=%~fsi
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>set DOMAIN_HOME=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1
C:\Oracle\Middleware\user_projects\domains\ClassicDomain>call "C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\bin\setDomainEnv.cmd"
'else' is not recognized as an internal or external command,
operable program or batch file.
JAVA Memory arguments: -Xms512m -Xmx512m -XX:MaxPermSize=512m
WLS Start Mode=Development
CLASSPATH=C:\Oracle\MIDDLE~1\WLSERV~1.3\server\ext\jdbc\oracle\11g\ojdbc6dms.jar;C:\Oracle\MIDDLE~1\patch_wls1033\profiles\default\sys_manifest_classpath\weblogic_patch.jar;C:\PROGRA~1\Java\JDK16~1.0_2\lib\tools.jar;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\weblogic_sp.jar;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\weblogic.jar;C:\Oracle\MIDDLE~1\modules\features\weblogic.server.modules_10.3.3.0.jar;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\webservices.jar;C:\Oracle\MIDDLE~1\modules\ORGAPA~1.1/lib/ant-all.jar;C:\Oracle\MIDDLE~1\modules\NETSFA~1.0_1/lib/ant-contrib.jar;C:\Oracle\Middleware\wlserver_10.3\server\lib\weblogic.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.dms_11.1.1\dms.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.jmx_11.1.1\jmxframework.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.jmx_11.1.1\jmxspi.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.odl_11.1.1\ojdl.jar;C:\Oracle\Middleware\wlserver_10.3\server\lib\weblogic.jar;C:\Oracle\Middleware\FORMS\opmn\lib\nonj2eembeans.jar;C:\Oracle\Middleware\FORMS\jdbc\lib\ojdbc6.jar;C:\Oracle\Middleware\FORMS\opmn\lib\optic.jar;C:\Oracle\Middleware\FORMS\opmn\lib\iasprovision.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.ldap_11.1.1\ldapjclnt11.jar;C:\Oracle\Middleware\oracle_common\jlib\rcucommon.jar;C:\Oracle\Middleware\FORMS\opmn\lib\opmneditor.jar;C:\Oracle\Middleware\FORMS\opmn\lib\wlfullclient.jar;C:\Oracle\MIDDLE~1\ORACLE~1\soa\modules\commons-cli-1.1.jar;C:\Oracle\MIDDLE~1\ORACLE~1\soa\modules\oracle.soa.mgmt_11.1.1\soa-infra-mgmt.jar;C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.jrf_11.1.1\jrf.jar;C:\Oracle\MIDDLE~1\WLSERV~1.3\common\derby\lib\derbyclient.jar;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\xqrl.jar
PATH=C:\Oracle\MIDDLE~1\patch_wls1033\profiles\default\native;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\native\win\x64;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\bin;C:\Oracle\MIDDLE~1\modules\ORGAPA~1.1\bin;C:\PROGRA~1\Java\JDK16~1.0_2\jre\bin;C:\PROGRA~1\Java\JDK16~1.0_2\bin;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\native\win\x64;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\bin;C:\PROGRA~1\Java\JDK16~1.0_2\jre\bin;C:\PROGRA~1\Java\JDK16~1.0_2\bin;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\native\win\x64\oci920_8;C:\Oracle\product\11.2.0\client_1\bin;C:\Oracle\product\11.2.0\client32\bin;C:\Oracle\Middleware\FORMS\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\PROGRA~2\MICROF~1\NETEXP~1.1\Base\Bin\WIN64;C:\Oracle\Middleware\oracle_common\bin;C:\MinGW\mingw64\bin;c:\PROGRA~2\Adobe\READER~1.0\Reader;C:\Program Files\ASCI\ActiveBatchV8\;C:\Oracle\Middleware\FORMS\opmn\bin;C:\Oracle\Middleware\FORMS\opmn\lib;C:\Oracle\Middleware\FORMS\perl\bin;C:\Oracle\Middleware\FORMS\OPatch;;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\native\win\x64\oci920_8
* To start WebLogic Server, use a username and *
* password assigned to an admin-level user. For *
* server administration, use the WebLogic Server *
* console at http:\\hostname:port\console *
starting weblogic with Java version:
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b17, mixed mode)
Starting WLS with line:
C:\PROGRA~1\Java\JDK16~1.0_2\bin\java -client -Xms512m -Xmx512m -XX:MaxPermSize=512m -Dweblogic.Name=WLS_FORMS -Djava.security.policy=C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\weblogic.policy -Dweblogic.system.BootIdentityFile=C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\WLS_FORMS\data\nodemanager\boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=false -Dweblogic.ReverseDNSAllowed=false -Xverify:none -da -Dplatform.home=C:\Oracle\MIDDLE~1\WLSERV~1.3 -Dwls.home=C:\Oracle\MIDDLE~1\WLSERV~1.3\server -Dweblogic.home=C:\Oracle\MIDDLE~1\WLSERV~1.3\server -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -Doracle.home=C:\Oracle\Middleware\FORMS -Ddomain.home=C:\Oracle\Middleware\user_projects\domains\ClassicDomain -Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m -Djava.ext.dirs=C:\Oracle\Middleware\FORMS\jdk\jre\lib\ext -Doracle.security.jps.config=C:\Oracle\Middleware\user_projects\domains\ClassicDomain\config\fmwconfig\jps-config.xml -Doracle.home=C:\Oracle\Middleware\FORMS -Ddomain.home=C:\Oracle\Middleware\user_projects\domains\ClassicDomain -Doracle.instance=C:\Oracle\Middleware\Instance\Frm_Domain -Doracle.instance.name=Frm_Domain -Doracle.forms.weblogic=1 -Ddomain.name=ClassicDomain -Ddomain.home=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1 -Dcommon.components.home=C:\Oracle\MIDDLE~1\ORACLE~1 -Djrf.version=11.1.1 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Djrockit.optfile=C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.jrf_11.1.1\jrocket_optfile.txt -Doracle.domain.config.dir=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\config\FMWCON~1 -Doracle.server.config.dir=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\config\FMWCON~1\servers\WLS_FORMS -Doracle.security.jps.config=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\config\fmwconfig\jps-config.xml -Djava.protocol.handler.pkgs=oracle.mds.net.protocol -Digf.arisidbeans.carmlloc=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\config\FMWCON~1\carml -Digf.arisidstack.home=C:\Oracle\MIDDLE~1\USER_P~1\domains\CLASSI~1\config\FMWCON~1\arisidprovider -Dweblogic.alternateTypesDirectory=C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.ossoiap_11.1.1,C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.oamprovider_11.1.1 -Dweblogic.jdbc.remoteEnabled=false -Dwc.oracle.home=C:\Oracle\Middleware\FORMS -Dclassic.oracle.home=C:\Oracle\Middleware\FORMS -Dem.oracle.home=C:\Oracle\Middleware\oracle_common -Djava.awt.headless=true -Dweblogic.management.discover=false -Dweblogic.management.server=http://192.168.200.166:7002 -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=C:\Oracle\MIDDLE~1\patch_wls1033\profiles\default\sysext_manifest_classpath -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic1 weblogic.Server
<Feb 2, 2012 10:08:18 AM AST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 17.0-b17 from Sun Microsystems Inc.>
<Feb 2, 2012 10:08:20 AM AST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 10.3.3.0 Fri Apr 9 00:05:28 PDT 2010 1321401 >
<Feb 2, 2012 10:08:22 AM AST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
<Feb 2, 2012 10:08:22 AM AST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool>
<Feb 2, 2012 10:08:22 AM AST> <Notice> <Log Management> <BEA-170019> <The server log file C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\WLS_FORMS\logs\WLS_FORMS.log is opened. All server side log events will be written to this file.>
*<Feb 2, 2012 10:08:28 AM AST> <Error> <Security> <BEA-090870> <The realm "myrealm" failed to be loaded: weblogic.security.service.SecurityServiceException: com.bea.common.engine.ServiceInitializationException: javax.jdo.JDOFatalInternalException: Unexpected exception caught.*
NestedThrowables:
java.lang.reflect.InvocationTargetException.
weblogic.security.service.SecurityServiceException: com.bea.common.engine.ServiceInitializationException: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
at weblogic.security.service.CSSWLSDelegateImpl.initializeServiceEngine(CSSWLSDelegateImpl.java:342)
at weblogic.security.service.CSSWLSDelegateImpl.initialize(CSSWLSDelegateImpl.java:221)
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.InitializeServiceEngine(CommonSecurityServiceManagerDelegateImpl.java:1783)
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initializeRealm(CommonSecurityServiceManagerDelegateImpl.java:442)
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.loadRealm(CommonSecurityServiceManagerDelegateImpl.java:840)
Truncated. see log file for complete stacktrace
Caused By: com.bea.common.engine.ServiceInitializationException: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
at com.bea.common.engine.internal.ServiceEngineImpl.findOrStartService(ServiceEngineImpl.java:365)
at com.bea.common.engine.internal.ServiceEngineImpl.findOrStartService(ServiceEngineImpl.java:315)
at com.bea.common.engine.internal.ServiceEngineImpl.lookupService(ServiceEngineImpl.java:257)
at com.bea.common.engine.internal.ServicesImpl.getService(ServicesImpl.java:72)
at weblogic.security.service.internal.WLSIdentityServiceImpl.initialize(WLSIdentityServiceImpl.java:47)
Truncated. see log file for complete stacktrace
Caused By: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:549)
at com.bea.common.security.storeservice.util.StoreServiceDelegate.initJDO(StoreServiceDelegate.java:149)
at com.bea.common.security.storeservice.util.StoreServiceDelegate.<init>(StoreServiceDelegate.java:98)
at com.bea.common.security.internal.service.StoreServiceImpl.init(StoreServiceImpl.java:76)
at com.bea.common.engine.internal.ServiceEngineImpl.findOrStartService(ServiceEngineImpl.java:363)
Truncated. see log file for complete stacktrace
Caused By: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:534)
Truncated. see log file for complete stacktrace
Caused By: <openjpa-1.1.1-SNAPSHOT-r422266:891341 fatal internal error> org.apache.openjpa.util.InternalException: There was an error when invoking the static getInstance method on the named factory class "org.apache.openjpa.abstractstore.AbstractStoreBrokerFactory". See the nested exception for details.
at org.apache.openjpa.kernel.Bootstrap.getBrokerFactory(Bootstrap.java:95)
at kodo.jdo.PersistenceManagerFactoryImpl.getPersistenceManagerFactory(PersistenceManagerFactoryImpl.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Truncated. see log file for complete stacktrace
Caused By: java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2734)
at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
at java.util.ArrayList.add(ArrayList.java:351)
at org.apache.openjpa.conf.CacheMarshallerImpl.setInputUrlFromResourceLocation(CacheMarshallerImpl.java:226)
at org.apache.openjpa.conf.CacheMarshallerImpl.endConfiguration(CacheMarshallerImpl.java:207)
Truncated. see log file for complete stacktrace
>
<Feb 2, 2012 10:08:28 AM AST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
<Feb 2, 2012 10:08:28 AM AST> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:
There are 1 nested errors:
weblogic.security.service.SecurityServiceRuntimeException: [Security:090399]Security Services Unavailable
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.doBootAuthorization(CommonSecurityServiceManagerDelegateImpl.java:916)
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initialize(CommonSecurityServiceManagerDelegateImpl.java:1050)
at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:875)
at weblogic.security.SecurityService.start(SecurityService.java:141)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
<Feb 2, 2012 10:08:28 AM AST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
<Feb 2, 2012 10:08:28 AM AST> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>
<Feb 2, 2012 10:08:28 AM AST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>
<Feb 2, 2012 10:08:29 AM> <FINEST> <NodeManager> <Waiting for the process to die: 3140>
<Feb 2, 2012 10:08:29 AM> <INFO> <NodeManager> <Server failed during startup so will not be restarted>
<Feb 2, 2012 10:08:29 AM> <FINEST> <NodeManager> <runMonitor returned, setting finished=true and notifying waiters>
Maybe you are looking for
-
Initial Load of contract from ISU to CRM
Hi All, We are working on the replication of contract from ISU to CRM. We have done all the necessary setting,like assigning default product,running ecrm_generate_everh report etc When we are running initial load on SI_CONTRACT,only single BDOC is ge
-
When I upgraded to Mavericks the other day, I lost functionality of Mac App Store. It worked fine in Mountain Lion. Please help!
-
Thorough Chart Designer documentation available? (and/or a question answered)
Today I found out about Chart Designer from Ray Camden's web site. I'm trying to get myself up to speed quickly for a project I'm trying to complete and I'm looking for any more thorough documentation than is found through the PDF that is available w
-
Message No. - KI249 while cancelling production order
Hi, I am doing confirmation of production order cancel in T.code CO13, while doing this there is an error. Message No. - KI249 (Enter only one true account assignment) The error in details - Enter only one true account assignment Message no. KI249 D
-
hi is there a possibility to make a relation between BOM and purchase order, otherway, to create a purchase order with BOM? if not, for what serve BOM? best regard