SystemException during Required -- RequiresNew Transaction Attribute
I have a batch process, which runs in RequiresNew Transaction Attribute (Child Transaction). My Parent transaction attribute is Required.
Say I am processing 10 Records, My requirement is in a normal flow, i need to commit each and every record after processing and incase Application Exception arises, i will log it and proceed with next record. So by that way i don't have any problem with Application Exception.
But when a systemException is thrown after processing 5 records, i will be able to rollback only the 6th record transaction, and the above commited 5 transactions cannot be rolledback. Can somebody suggest me a good solution to rollback all the transactions incase of SystemExceptions in RequiresNew
Thanks & Regards,
Prasanna
Hi
ThanX for your reply. I raised the issue to the BEA support, they said that the issue is the driver that i am using. It got resolved when i tried with the BEA provided driver. They call it the BEA branded driver for SQL Server.
Regards
Muthu
Similar Messages
-
Can Entity Bean be set with "RequiresNew" transaction Attribute?
I find it result in "dead lock"
when I call RequiresNew attributed CMP method in session Bean.
Then, Is it possible to use CMP which is set with "RequiresNew" transaction attribute?
I Wonder why.
Thanx in advance.
Requires-new makes the container start a new transaction. Only use that flag
at the point that you are certain that a NEW transaction should BEGIN. I
suggest you use Required as your default for all methods in the application,
and only change that to anything else when you are certain that you should.
Peace,
Cameron Purdy
Tangosol Inc.
<< Tangosol Server: How Weblogic applications are customized >>
<< Download now from http://www.tangosol.com/download.jsp >>
"A.J,LEE" <[email protected]> wrote in message
news:3ba5adb2$[email protected]..
>
> I find it result in "dead lock"
> when I call RequiresNew attributed CMP method in session Bean.
> Then, Is it possible to use CMP which is set with "RequiresNew"
transaction attribute?
>
> I Wonder why.
>
> Thanx in advance.
-
Can i call Bean managed EJB with transaction attribute Required New
I am calling a BeanManaged EJB which has a transaction attribute
set to Required New from a container managed bean. Does it create a new transaction
other than the Bean managed transaction. Do i really need a required new field
transaction attribute.All i need is user controlled transaction.Do i need to set
the transaction aatibute.
Thanks
Krish.
Hi Krish,
The question does not make much sense.
I would suggest that you set all your tx settings to "Required" unless you
have a specific reason to do otherwise, and in those few instances that you
have a specific reason to do otherwise, then change it in just those places.
Peace,
Cameron Purdy
Tangosol Inc.
<< Tangosol Server: How Weblogic applications are customized >>
<< Download now from http://www.tangosol.com/download.jsp >>
"KRISH" <[email protected]> wrote in message
news:[email protected]..
>
> I am calling a BeanManaged EJB which has a transaction attribute
> set to Required New from a container managed bean. Does it create a new
transaction
> other than the Bean managed transaction. Do i really need a required new
field
> transaction attribute.All i need is user controlled transaction.Do i need
to set
> the transaction aatibute.
>
> Thanks
>
> Krish.
>
-
Help-Problem in calling JMS inside an EJB having transaction attribute Required New
Hi,
Version wl 5.1 service pack 8
OS - unix
I am using a Container managed bean say Bean1(transaction attribute Required)
which in one of its method is trying to call another EJB say Bean2 which has the
transaction attribute set to "RequiredNew".Inside the method in Bean2 i have my
JMS funtions coded to persist to database.JMS uses Queue connection factory and
is an non transaction JMS session.The JMS server is running in a separate weblogic
server and not in the server where EJB is deployed.I use the url of the JMS server
and get the context of that server and connect my JMS.
The problem that i am facing is
I do the transaction in bean1 and the i make the call to bean2 to do the JMS work
and i can see the JMS doing the insert in the table and everthing works fine.But
after few seconds i can see the exception/message seen on the console of the weblogic
server where my JMS server is running as below
Tue Sep 04 15:57:09 CDT 2001:<I> <TX> Transaction (TxC (30486015, xid = 99963563
2756_5, timeout = 30, txState = Marked Rollback, root = 829817264280676325S10.51
.110.237:[7001,7001,7002,7002,7001,-1]/326) rolled back after 30 sec.
After this happen i dont see any roll back in either bean1 or bean2 or the JMS
insert is rolled back.
I don't know why this exception is thrown and no effects on the rollback and it
works the way i wanted.But the only thing that keeps bothering me is the rollback
and why does this happen.
Thanks
Krish.
The exception your seeing is troubling - if the tran is rolled
back than whatever work is associated should also roll back. I suggest
instrumenting your code to see if the tran rolling back is the same tran
that is being used for the transactional application work that appears to succeed.
Also, try forcing a rollback, you may see that the EJB work truly rolls back
while the JMS work does not.
I'm not really familiar with 5.1, but I know there is a fundamental limitation to one
phase commits, this means that the JDBC connection pool used by JMS as well
as that used by the EJB must be one and the same - I'm not exactly sure how
it works, but I'm pretty sure multiple servers can share the same connection pool.
This post seems unrelated to clustering, if you need further help, I
suggest posting in the ejb or transaction newsgroups.
Krish wrote:
> Hi,
>
> Version wl 5.1 service pack 8
> OS - unix
>
> I am using a Container managed bean say Bean1(transaction attribute Required)
> which in one of its method is trying to call another EJB say Bean2 which has the
> transaction attribute set to "RequiredNew".Inside the method in Bean2 i have my
> JMS funtions coded to persist to database.JMS uses Queue connection factory and
> is an non transaction JMS session.The JMS server is running in a separate weblogic
> server and not in the server where EJB is deployed.I use the url of the JMS server
> and get the context of that server and connect my JMS.
>
> The problem that i am facing is
>
> I do the transaction in bean1 and the i make the call to bean2 to do the JMS work
> and i can see the JMS doing the insert in the table and everthing works fine.But
> after few seconds i can see the exception/message seen on the console of the weblogic
> server where my JMS server is running as below
>
> Tue Sep 04 15:57:09 CDT 2001:<I> <TX> Transaction (TxC (30486015, xid = 99963563
> 2756_5, timeout = 30, txState = Marked Rollback, root = 829817264280676325S10.51
> 110.237:[7001,7001,7002,7002,7001,-1]/326) rolled back after 30 sec.
>
>
> After this happen i dont see any roll back in either bean1 or bean2 or the JMS
> insert is rolled back.
>
> I don't know why this exception is thrown and no effects on the rollback and it
> works the way i wanted.But the only thing that keeps bothering me is the rollback
> and why does this happen.
>
> Thanks
>
> Krish.
-
Is it posible that transaction attribute required & isolation any after no
Dear freind
I want to share this question which i face in a company Rose It Solution Delhi India
que:-- There is a Account EJB transaction attribute is required which isolation level select that there will be no changes in database a) TX_readOnly b) TX_raed_commited c)TX_unreapitable_read d)TX_Serializable After all i think TX_readOnly is not a isolation level second things that is transaction attribute is required then why not changes in database
Regards
Rajesh Pandey freelance Developer e-mail:-- [email protected]
Please use html tags to format code blocks.Dear freind
I want to share this question which i face in a company Rose It Solution Delhi India
que:-- There is a Account EJB transaction attribute is required which isolation level select that there will be no changes in database a) TX_readOnly b) TX_raed_commited c)TX_unreapitable_read d)TX_Serializable After all i think TX_readOnly is not a isolation level second things that is transaction attribute is required then why not changes in database
Regards
Rajesh Pandey freelance Developer e-mail:-- [email protected]
Please use html tags to format code blocks. -
Is there a special reason why NotSupported and Required are the only two supported transaction attributes? I understand that MDBs cannot have a client-initiated transaction, but there are other transaction attributes that indicate the same thing.
If an MDB wants to indicate that it should not execute in a transaction, why can't it indicate Never or Supports in addition to NotSupported? In the case of no client-initiated transaction, all three result in the annotated method occuring under no transaction.
If an MDB wants to indicate that it should execute in a transaction, why can't it indicate RequiresNew in addition to Required? Again, in the case of no client-initiated transaction, both result in the annotated method occuring under a transaction.
The Mandatory attribute throws an exception if there is no client-initiated transaction, so clearly that is never appropriate for MDBs. But I am confused as to why the other transaction attributes cannot be used as indicated above.
Please clarify why the specification indicates this about MDB transaction attributes...
Thanks.When ejb webservice endpoints were introduced in J2EE 1.4 there was no support for
propagation of transaction context over a webservice invocation. Both the JSR 109
spec and the EJB 2.1 spec prohibited the use of MANDATORY on an ejb web
service endpoint since using it was likely a developer error.
In Java EE 5 the restriction against MANDATORY for ejb web service endpoints was removed in the
EJB 3.0 spec. There's still no requirement that transactions be able to flow with web service
invocations but there are some products that support it so the ejb container is no longer
required to throw an exception in that case.
--ken -
Transaction Attribute issue in weblogic 8.1
Hi,
I have problem with the transaction attribute of my session bean in Weblogic8.1 and SQLServer. Following is the description.
I have two beans, say SampleBeanOne and SampleBeanTwo. The transaction attribute of SampleBeanOne is "Required" and that of the SampleBeanTwo is "RequiresNew".
In SampleBeanOne i am trying the execute the a batch of insert quires using PreparedStatement.addBach() and PreparedStatement.executBatch() in a loop that runs of 5 times.
Inside the loop i am calling a method in SampleBeanTwo to get the next sequence. In that method i am updating the squence and selecting the new value.
Now the problem i am facing is that when i call the executeBatch() in the PreparedStatement only the final insert statement added to the batch is called and the insert statement added gets vanished.
If i change the transaction attribute of the SampleBeanTwo to "Required" the code is working fine. But i can't do that since the SampleBeanTwo is accessed throught out my application.
The same peace of code is working properly with Websphere5 and SQL server combination.
Kindly help me out in this issue.
RegardsHi
ThanX for your reply. I raised the issue to the BEA support, they said that the issue is the driver that i am using. It got resolved when i tried with the BEA provided driver. They call it the BEA branded driver for SQL Server.
Regards
Muthu -
Help required specifying Transation attributes for this scenario
Hi ,
I am trying to create/update rows in a database using BMP and CMP beans.
A business method ( Method1 )in session bean calls a non-business method ( Method2) in the same session bean which inturn calls an EntityBean ( EB1-BMP) . EB1 can throw a certain business exception upon which , the Method1 in the session bean calls another EntityBean in a loop( EB2-CMP).
The problem is that , when the EB1 throws the business exception, i am getting an exception ( part of the stack trace attached below ).
Could any please explain what should be the transaction attributes to be specified for this scenario.
Using RequiresNew for the EntityBeans would not work ( or would it ?? ) because the entity bean is being called in a loop and the commit or rollback should happen for all the methods.
I feel the problem should be solved by specifying the transaction attribute for Method2 ( non business method in session bean ) as Required, but i guess this is not possible.
How exactly will the transaction behave in this scenario, is the exception caused because EB1 has thrown an exception and i am trying to continue the transaction.
Could someone please suggest a solution or workaround for this problem.
Regards,
Harsha
---- Begin backtrace for nested exception
java.lang.IllegalStateException
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:1694)
javax.ejb.EJBException: nested exception is: com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException: PMGR6022E: Error using adapter to create or execute an Interaction. com.ibm.ws.rsadapter.cci.WSInteractionImpl@28d16547
.tryout business method ( Method1 )in session bean with transaction as RequiresNew.
catch exception in Method2 originated from EB1-BMP
make the method in EB2-CMP as Required/Mandatory
I have made a guess here so just tryout and let me know if works.
Its recommend that not to use both BMP's and CMPs in your application. Have any one either. -
hi,erveryone,
one difficult question need help.
Environment: WLS8.1sp2 + WLI8.1sp2 + ORACLE9i + solaris9
when I started archiver manually,just for a while, wli system generated about 40,000 JMS messages in
wli.internal.worklist.timer.queue,and consume the great mass of system resource of Database server,I had to stop these
archive processes immediately to keep other applicaitons which using the same database running normal. I did so by
following steps:
(1) in WLI console, delete wli.internal.worklist.timer.queue;
(2) in WLI console, reconstruct wli.internal.worklist.timer.queue;
(3) restart wli server.
after server was restarted, wli server output endless and repeatly exception to log file ,the typical exception was:
####<May 8, 2005 3:08:26 PM CST> <Info> <EJB> <app01> <jcwliserver> <ExecuteThread: '54' for queue:
'weblogic.kernel.Default'> <<anonymous>> <BEA1-54B26B551CC1A8856F80> <BEA-010049> <EJB Exception in method: remove:
java.sql.SQLException: Transaction rolled back: Unknown reason.
java.sql.SQLException: Transaction rolled back: Unknown reason
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1299)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1250)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:385)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:343)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSPersistenceManager.java:2247)
at
com.bea.wli.worklist.beans.entity.ListenerBean_1nsp14__WebLogic_CMP_RDBMS.__WL_loadGroup0(ListenerBean_1nsp14__WebLogic_CMP_R
DBMS.java:1055)
at
com.bea.wli.worklist.beans.entity.ListenerBean_1nsp14__WebLogic_CMP_RDBMS.__WL_setTaskBean_listeners(ListenerBean_1nsp14__Web
Logic_CMP_RDBMS.java:596)
at
com.bea.wli.worklist.beans.entity.ListenerBean_1nsp14__WebLogic_CMP_RDBMS.__WL_setTaskBean_listeners(ListenerBean_1nsp14__Web
Logic_CMP_RDBMS.java:584)
at
com.bea.wli.worklist.beans.entity.ListenerBean_1nsp14__WebLogic_CMP_RDBMS.ejbRemove(ListenerBean_1nsp14__WebLogic_CMP_RDBMS.j
ava:2423)
at weblogic.ejb20.manager.DBManager.remove(DBManager.java:1318)
at weblogic.ejb20.internal.EntityEJBLocalHome.remove(EntityEJBLocalHome.java:214)
at
com.bea.wli.worklist.beans.entity.ListenerBean_1nsp14_LocalHomeImpl.remove(ListenerBean_1nsp14_LocalHomeImpl.java:131)
at
com.bea.wli.worklist.beans.session.RemoteWorklistManagerBean.removeTaskListeners(RemoteWorklistManagerBean.java:3001)
at
com.bea.wli.worklist.beans.session.RemoteWorklistManagerBean_us8t1c_EOImpl.removeTaskListeners(RemoteWorklistManagerBean_us8t
1c_EOImpl.java:698)
at com.bea.wli.worklist.timer.WorklistTimerMDB.processListenerToRemove(WorklistTimerMDB.java:102)
at com.bea.wli.worklist.timer.WorklistTimerMDB.onMessage(WorklistTimerMDB.java:61)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
####<May 8, 2005 3:08:26 PM CST> <Info> <EJB> <app01> <jcwliserver> <ExecuteThread: '96' for queue:
'weblogic.kernel.Default'> <<anonymous>> <BEA1-54B96B551CC1A8856F80> <BEA-010049> <EJB Exception in method: remove:
javax.ejb.NoSuchEntityException: [EJB:010140]Bean with primary key: '153.22.52.28-17343c7.10243c3c6ec.a51' not found..
javax.ejb.NoSuchEntityException: [EJB:010140]Bean with primary key: '153.22.52.28-17343c7.10243c3c6ec.a51' not found.
at
com.bea.wli.worklist.beans.entity.ListenerBean_1nsp14__WebLogic_CMP_RDBMS.__WL_loadGroup0(ListenerBean_1nsp14__WebLogic_CMP_R
DBMS.java:1165)
at
com.bea.wli.worklist.beans.entity.ListenerBean_1nsp14__WebLogic_CMP_RDBMS.__WL_setTaskBean_listeners(ListenerBean_1nsp14__Web
Logic_CMP_RDBMS.java:596)
at
com.bea.wli.worklist.beans.entity.ListenerBean_1nsp14__WebLogic_CMP_RDBMS.__WL_setTaskBean_listeners(ListenerBean_1nsp14__Web
Logic_CMP_RDBMS.java:584)
at
com.bea.wli.worklist.beans.entity.ListenerBean_1nsp14__WebLogic_CMP_RDBMS.ejbRemove(ListenerBean_1nsp14__WebLogic_CMP_RDBMS.j
ava:2423)
at weblogic.ejb20.manager.DBManager.remove(DBManager.java:1318)
at weblogic.ejb20.internal.EntityEJBLocalHome.remove(EntityEJBLocalHome.java:214)
at
com.bea.wli.worklist.beans.entity.ListenerBean_1nsp14_LocalHomeImpl.remove(ListenerBean_1nsp14_LocalHomeImpl.java:131)
at
com.bea.wli.worklist.beans.session.RemoteWorklistManagerBean.removeTaskListeners(RemoteWorklistManagerBean.java:3001)
at
com.bea.wli.worklist.beans.session.RemoteWorklistManagerBean_us8t1c_EOImpl.removeTaskListeners(RemoteWorklistManagerBean_us8t
1c_EOImpl.java:698)
at com.bea.wli.worklist.timer.WorklistTimerMDB.processListenerToRemove(WorklistTimerMDB.java:102)
at com.bea.wli.worklist.timer.WorklistTimerMDB.onMessage(WorklistTimerMDB.java:61)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
The wli server generated log file very quickly ,:it can output 1M bytes log file per second,all logged information
is similar to the <BEA-010049> excetpion metioned above. BEA support engineer suggested me to totally stop the
archive ,I did so,but the server was still ouput the log file like crazy as before and the normal log information are
completely override by <BEA-010049> excetpion.
I checked the EntityEJBs in WLI console :Mywlidomain> Applications> WLI System EJBs> WLI Worklist Persistence$)A#,and
found that in statistics table :
ListenerBean : Pool miss ratio = 99.67%, transaction rollback ration = 99.90%,Destory Bean Ratio = 99.48%(see
attachment)
WorklistTimerMDB: transaction rollback ratio = 99.97%
It seems ListenerBean worked incorrectly.I searched in support.bea.com and found one example which also about server
output endless log file,the author solved this problem by changing Bean's transaction-attribute from 'Required'
to 'RequiresNew' thought he didn't know why it works. I try this method by changing ListenerBean's
transaction-attribute from 'Required' to 'RequiresNew'.
$weblogic_home/integration/lib/wli-ejbs.ear/ejb-jar-generic.xml:
<ejb-name>CommentBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
<container-transaction>
<method>
<ejb-name>ListenerBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>RequiresNew</trans-attribute> -----------the default value is Required,I modified it to
RequiresNew.
</container-transaction>
<container-transaction>
really it works, the log file output resume normal. But there are still some problems:
(1) this exception is still exist:
javax.ejb.NoSuchEntityException: [EJB:010140]Bean with primary key: '153.22.52.28-17343c7.10243c3c6ec.a51' not found.
(2) is this method safe ?(Does "Modify ListenBean's transaction-attribute" impat other parts of wli system?)
(3) after changed the transaction attribute, if turn on archive again, the server output endless exception:
####<Jun 1, 2005 5:14:58 PM CST> <Info> <EJB> <app01> <jcwliserver> <ExecuteThread: '63' for queue:
'weblogic.kernel.Default'> <<anonymous>> <BEA1-2F43890B86B0A8856F80> <BEA-010036> <Exception from ejbStore:
java.sql.SQLException: XA error: XAER_RMERR : A resource manager error has occured in the transaction branch start()
failed on resource 'weblogic.jdbc.jta.DataSource': XAER_RMERR : A resource manager error has occured in the transaction
branch
oracle.jdbc.xa.OracleXAException
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1160)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:311)
at weblogic.jdbc.wrapper.VendorXAResource.start(VendorXAResource.java:50)
at weblogic.jdbc.jta.DataSource.start(DataSource.java:617)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1075)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1007)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:218)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:419)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1287)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1250)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:385)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:343)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSPersistenceManager.java:2247)
at
com.bea.wli.worklist.beans.entity.TaskBean_9fxazu__WebLogic_CMP_RDBMS.__WL_store(TaskBean_9fxazu__WebLogic_CMP_RDBMS.java:363
6)
at
com.bea.wli.worklist.beans.entity.TaskBean_9fxazu__WebLogic_CMP_RDBMS.ejbStore(TaskBean_9fxazu__WebLogic_CMP_RDBMS.java:3548)
at weblogic.ejb20.manager.DBManager.beforeCompletion(DBManager.java:927)
at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManager.java:745)
at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1010)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:115)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1142)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1868)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:250)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:221)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:412)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
java.sql.SQLException: XA error: XAER_RMERR : A resource manager error has occured in the transaction branch start()
failed on resource 'weblogic.jdbc.jta.DataSource': XAER_RMERR : A resource manager error has occured in the transaction
branch
oracle.jdbc.xa.OracleXAException
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1160)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:311)
at weblogic.jdbc.wrapper.VendorXAResource.start(VendorXAResource.java:50)
at weblogic.jdbc.jta.DataSource.start(DataSource.java:617)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1075)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1007)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:218)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:419)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1287)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1250)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:385)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:343)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSPersistenceManager.java:2247)
at
com.bea.wli.worklist.beans.entity.TaskBean_9fxazu__WebLogic_CMP_RDBMS.__WL_store(TaskBean_9fxazu__WebLogic_CMP_RDBMS.java:363
6)
at
com.bea.wli.worklist.beans.entity.TaskBean_9fxazu__WebLogic_CMP_RDBMS.ejbStore(TaskBean_9fxazu__WebLogic_CMP_RDBMS.java:3548)
at weblogic.ejb20.manager.DBManager.beforeCompletion(DBManager.java:927)
at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManager.java:745)
at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1010)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:115)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1142)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1868)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:250)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:221)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:412)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1292)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1250)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:385)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:343)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSPersistenceManager.java:2247)
at
com.bea.wli.worklist.beans.entity.TaskBean_9fxazu__WebLogic_CMP_RDBMS.__WL_store(TaskBean_9fxazu__WebLogic_CMP_RDBMS.java:363
6)
at
com.bea.wli.worklist.beans.entity.TaskBean_9fxazu__WebLogic_CMP_RDBMS.ejbStore(TaskBean_9fxazu__WebLogic_CMP_RDBMS.java:3548)
at weblogic.ejb20.manager.DBManager.beforeCompletion(DBManager.java:927)
at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManager.java:745)
at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1010)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:115)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1142)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1868)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:250)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:221)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:412)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
How can I solve these problem ? any suggestion is warm welcome.
Thanks in advance.
Great LouBack up all data to at least two different storage devices, if you haven't already done so. The backups can be made with Time Machine or with a mirroring tool such as Carbon Copy Cloner. Preferably both.
Boot into Recovery (command-R at startup), launch Disk Utility, and erase the startup volume with the default options.This operation will destroy all data on the volume, so you had be better be sure of your backups. Quit Disk Utility and install OS X. When you reboot, you'll be prompted to go through the initial setup process. That’s when you transfer the data from one of your backups. For details of how this works, see here:
Using Setup Assistant
Transfer only "Users" and "Settings" – not "Applications" or "Other files." Don't transfer the Guest account, if it was enabled on the old system. Test. If the problem is still there, you have a hardware fault. Take the machine to an Apple Store for diagnosis.
If the problem is resolved, reinstall your third-party software cautiously. Self-contained applications that install into the Applications folder by drag-and-drop or download from the App Store are safe. Anything that comes packaged as an installer or that prompts for an administrator password is suspect, and you must test thoroughly after reinstalling each such item to make sure you haven't restored the problem.
Note: You need an always-on Ethernet or Wi-Fi connection to the Internet to use Recovery. It won’t work with USB or PPPoE modems, or with proxy servers, or with networks that require a certificate for authentication. -
Assignment of transaction attributes in ejb-jar.xml
Hi all,
I'm going through the employee example from the book "Java programming in SAP web application server". I have followed the instrucstions to the letter and have triple checked that i did not miss anything.
During the part "Defining Transaction Control", when i go to the "Assembly" tab, choose "Container-transaction" and click add; i get the following error message.
You have to create and reference EJBs first. Afterwards you can choose them here.
Newly created EJBs are referenced automatically in the ejb-jar.xml, in special cases you might have to reference them manually.
Below is a copy of the ejb-jar. Both beans are referenced in the file so i don't really understand the error message!
Thanks for your help.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<description>EJB JAR description</description>
<display-name>EJB JAR</display-name>
<enterprise-beans>
<session>
<ejb-name>EmployeeServicesBean</ejb-name>
<home>com.sap.demo.EmployeeServicesHome</home>
<remote>com.sap.demo.EmployeeServices</remote>
<local-home>com.sap.demo.EmployeeServicesLocalHome</local-home>
<local>com.sap.demo.EmployeeServicesLocal</local>
<ejb-class>com.sap.demo.EmployeeServicesBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-local-ref>
<ejb-ref-name>ejb/Employee</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>com.sap.demo.EmployeeLocalHome</local-home>
<local>com.sap.demo.EmployeeLocal</local>
<ejb-link>EmployeeEjb.jar#EmployeeBean</ejb-link>
</ejb-local-ref>
</session>
<entity>
<ejb-name>EmployeeBean</ejb-name>
<home>com.sap.demo.EmployeeHome</home>
<remote>com.sap.demo.Employee</remote>
<local-home>com.sap.demo.EmployeeLocalHome</local-home>
<local>com.sap.demo.EmployeeLocal</local>
<ejb-class>com.sap.demo.EmployeeBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Long</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>EmployeeBean</abstract-schema-name>
<cmp-field>
<field-name>lastname</field-name>
</cmp-field>
<cmp-field>
<field-name>firstname</field-name>
</cmp-field>
<cmp-field>
<field-name>id</field-name>
</cmp-field>
<cmp-field>
<field-name>department</field-name>
</cmp-field>
<primkey-field>id</primkey-field>
<query>
<description>Query for getting all employee objects.</description>
<query-method>
<method-name>findAllEmployees</method-name>
<method-params/>
</query-method>
<ejb-ql>Select object (p) from EmployeeBean p</ejb-ql>
</query>
</entity>
</enterprise-beans>
<assembly-descriptor/>
</ejb-jar>I was able to add the transaction attributes manually to the ejb-jar.xml file. below is what the file looks like now for those interested.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<description>EJB JAR description</description>
<display-name>EJB JAR</display-name>
<enterprise-beans>
<session>
<ejb-name>EmployeeServicesBean</ejb-name>
<home>com.sap.demo.EmployeeServicesHome</home>
<remote>com.sap.demo.EmployeeServices</remote>
<local-home>com.sap.demo.EmployeeServicesLocalHome</local-home>
<local>com.sap.demo.EmployeeServicesLocal</local>
<ejb-class>com.sap.demo.EmployeeServicesBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-local-ref>
<ejb-ref-name>ejb/Employee</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>com.sap.demo.EmployeeLocalHome</local-home>
<local>com.sap.demo.EmployeeLocal</local>
<ejb-link>EmployeeEjb.jar#EmployeeBean</ejb-link>
</ejb-local-ref>
</session>
<entity>
<ejb-name>EmployeeBean</ejb-name>
<home>com.sap.demo.EmployeeHome</home>
<remote>com.sap.demo.Employee</remote>
<local-home>com.sap.demo.EmployeeLocalHome</local-home>
<local>com.sap.demo.EmployeeLocal</local>
<ejb-class>com.sap.demo.EmployeeBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Long</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>EmployeeBean</abstract-schema-name>
<cmp-field>
<description>
</description>
<field-name>lastname</field-name>
</cmp-field>
<cmp-field>
<description>
</description>
<field-name>firstname</field-name>
</cmp-field>
<cmp-field>
<description>
</description>
<field-name>id</field-name>
</cmp-field>
<cmp-field>
<description>
</description>
<field-name>department</field-name>
</cmp-field>
<primkey-field>id</primkey-field>
<query>
<description>Query to get all employee objects.</description>
<query-method>
<method-name>findAllEmployees</method-name>
<method-params/>
</query-method>
<ejb-ql>Select object (p) from EmployeeBean p</ejb-ql>
</query>
</entity>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<description>container-transaction</description>
<method>
<ejb-name>EmployeeBean</ejb-name>
<method-name>*</method-name>
</method>
<method>
<ejb-name>EmployeeServicesBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
Thanks -
Error deploying EJB on weblogic: Unable to set the transaction attribute
Hi,
I'm trying to deploy an application in WL10.3.2 and an error occurred during activation of changes.
Here is the error message from the log file:
<Jun 6, 2011 1:28:27 PM MDT> <Error> <Deployer> <BEA-149205> <Failed to initialize the application 'serverEAR-2' due to error weblogic.application.ModuleException: Exception preparing module: EJBModule(serverEJB-2.8.0.jar)
Unable to deploy EJB: C:\oracle\Middleware\user_projects\domains\base_domain\servers\Server_3\tmp\_WL_user\serverEAR-2\1zw7ao\serverEJB-2.8.0.jar from serverEJB-2.8.0.jar:
Unable to set the transaction attribute for method 'saveActionGroup(EditableActionGroup)' on EJB 'ViewBean'. No matching method could be found. Please verify the method signature specified in the ejb-jar.xml file matches that of your Remote interface for this EJB.
weblogic.application.ModuleException: Exception preparing module: EJBModule(serverEJB-2.8.0.jar)
Unable to deploy EJB: C:\oracle\Middleware\user_projects\domains\base_domain\servers\Server_3\tmp\_WL_user\serverEAR-2\1zw7ao\serverEJB-2.8.0.jar from serverEJB-2.8.0.jar:
Unable to set the transaction attribute for method 'saveActionGroup(EditableActionGroup)' on EJB 'ViewBean'. No matching method could be found. Please verify the method signature specified in the ejb-jar.xml file matches that of your Remote interface for this EJB.
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:454)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:391)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:59)
Truncated. see log file for complete stacktrace
Caused By: weblogic.ejb.container.deployer.DeploymentDescriptorException: Unable to set the transaction attribute for method 'saveActionGroup(EditableActionGroup)' on EJB 'ViewBean'. No matching method could be found. Please verify the method signature specified in the ejb-jar.xml file matches that of your Remote interface for this EJB.
at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.processCTs(MBeanDeploymentInfoImpl.java:1502)
at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.processSpecificMethodCTs(MBeanDeploymentInfoImpl.java:1472)
at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.initializeTransactionAttribute(MBeanDeploymentInfoImpl.java:773)
at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.<init>(MBeanDeploymentInfoImpl.java:259)
at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1190)
Truncated. see log file for complete stacktrace
Please help me...Thanks.In your ejb-jar.xml you are referring to a method saveActionGroup(EditableActionGroup) which is not defined in your remote interface.
Maybe you have made some typo in the configuration. Check your transaction section, i.e.,
<container-transaction>
<method>
<ejb-name>ViewBean</ejb-name>
<method-name>saveActionGroup</method-name>
<method-params>
<method-param>package.EditableActionGroup</method-param>
</method-params>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>or something similar. See if the defined methods are corresponding to the methods defined in the remote interface. -
We are using Ejbs2.1
Our system uses Database but we are not writing IT System so we do not need To use trasactions at all.
We are using RequiresNew as the Transaction Attribute so every
ejb starts in a new transaction and each method only invoke one database access
We are now considering to change the Transaction Attribute to NotSupported So each database access will do a commit (the database connection is set to autoCommit)
We thought that this approach will be more efficient since no transaction will be created.
I will be happy to hear what you think about this approach, is our assumption is correct?it means that the method must operate outside of an active transaction - in other words there will be no active transaction during its runtime. If there is an active transaction when the method is called, that transaction is "put on hold" until the "notsupported" EJB call finishes.
-
Hi All!
I try to play with cmp entity beans. All I try to do is find instance and call one from the methods.
When I use transaction attribute another than "Required", I get exception 25222. Application module creation exception.
If I change attribute to "Required New" then I get error while bean try to UPDATE record.
I can't understand why this update appear on findByPrimaryKey!
Can any body give some information on JBO behavior?
Mike
nullI do one more test and found
UPDATE exception raised when I have foreign key in table. If I use only plain fild evething is ok. If add to entity foreign key field container raise exception when it try to update record. -
RequiresNew transaction fails in case of nested EJB, is it known issue ?
Hi friends,
we are facing a peculiar problem across entire application. All the nested ejb transactions with transaction attribute as RequiresNew fail, when the main transaction fails.
This is wrong as, if a nested transaction has attribute as RequiresNew , it should succeed even if main transaction fails. It works fine with websphere
for e.g
EJB A has methodA(), which calls methodB() of EJB B. methodB() inserts few rows in DB and returns to caller methodA(). Now methodA() fails due to some reason.
In case of Netweaver 04s the rows inserted by mentodB() are rolled back which is wrong.
Is this a known issue ? Is there any work around ?Hi All,
Still this thread is unanswered, Is there any genius who has done Transaction handling on Adpaters (MQ or JMS). I have look into may threads on forums, but no appropriate information is given about this issue. If this thread is been answered then it will be very helpfull for othes dealing with transaction in MQ.
Thanks
Sunil -
BEA-010026 Exception occurred during commit of transaction Xid...
Srs,
Does anyone know how can i change the IP address bellow ? is there any file with this configuration ? ( i dont know so well weblogic )
This is a unkown IP (10.26.71.28) and probably for this reason, the following error appears:
<Mar 31, 2010 1:53:48 PM BRT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-012A4C55A4FA8C6F67D0(13881631),Status=Rolling Back. [Reason=javax.transaction.SystemException: SubCoordinator 'AdminServer+*10.26.71.28*:7001+tdws_domain+t3+' not available],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=167,seconds left=55,XAServerResourceInfo[JMS_ADMLoggingStore]=(ServerResourceInfo[JMS_ADMLoggingStore]=(state=rolledback,assigned=adm_managed_server),xar=JMS_ADMLoggingStore,re-Registered = false),XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=new,assigned=AdminServer),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@15d1298,re-Registered = false),SCInfo[tdws_domain+AdminServer]=(state=rolling-back),SCInfo[adm+adm_managed_server]=(state=rolledback),properties=({weblogic.jdbc=t3://*10.26.71.28*:8080, START_AND_END_THREAD_EQUAL=false}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=adm_managed_server+146.250.132.247:7001+adm+t3+, XAResources={weblogic.jdbc.wrapper.JTSXAResourceImpl, JMS_ADMLoggingStore},NonXAResources={})],CoordinatorURL=adm_managed_server+146.250.132.247:7001+adm+t3+): javax.transaction.SystemException: SubCoordinator 'AdminServer+*10.26.71.28*:7001+tdws_domain+t3+' not available
at weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:1045)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:173)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:163)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1202)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:2007)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:257)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:228)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:430)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2698)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2610)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: SubCoordinator 'AdminServer+10.26.71.28:7001+tdws_domain+t3+' not available - with nested exception:
[javax.transaction.SystemException: SubCoordinator 'AdminServer+10.26.71.28:7001+tdws_domain+t3+' not available]
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1687)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:311)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:228)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:430)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2698)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2610)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Thanks,
Claudio
Edited by: user1098890 on 31/03/2010 12:35Did anyone ever find an answer to this? I have the same problem.
Maybe you are looking for
-
not only safari is getting more difficult to use,its the flash problem for exemple,but also now it becomes strange when i change some settings (before when i open the safari window,it open with the top sites..now its impossibel to do this..i change t
-
Where did the halftone screen settings go?
I've just downloaded Photoshop CS5 and am desperately seeking the halftone screen settings. It used to be in the print dialogue, but it's no more there. Where did it go? And yes, I have chosen a PostScript printer.
-
Oracle Patch 10.2.0.4 error - Windows Server 2008 x64
Hello! Could you please give your comments if you have seen errors described below? It appeared during the Oracle Patch 10.2.0.4 installation in Windows Server 2008 x64. *************installActions2010-08-06_11-02-02PM.log****************** Using par
-
How to customize notifications response email body in iExpense
Hi Techs, We have a requirement to include custom wordings when the iexpense approver click "Approve" or "Reject" button in email. Is there any way to do this. Currently if the approver clicks "Approve" or "Reject" button in email, it just displays N
-
HT1904 Apple ID I can't use in iTunes store
What I can? If I haven't master card for support apple ID