Code once executed at a moment by using threads
Hi
We have a Java program that reads a text-file and then put it into the database (into four different tables). We make use of ADF BC 10g for the interaction with the database.
We make use of threads in a threadpool.
The Java program consists of different methods, for each insert/update into the table there is an own method with an own getTransaction().commit().
There is one method (an update for one table) that can be executed only once at a time, during to locking problems in the database.
When we make use of one thread for this program, things work fine, but when we make use of e.g. 4 threads, then there are 4 instances of the Java-program (for the processing of 4 different text-files), and then we get an error while two 'threads' are updating the same row in the database.
I tried to avoid this by using the keyword 'synchronized', but (in my opinion) this only works when you use the same object in all the threads, so this does not work for me.
Can someone help me to solve this problem?
Regards,
EJ
LvL wrote:
2nd question: do you have an example how to manage this by using DB Transactions.
At this moment I get the error: JBO-26030: Failed to lock the record, another user holds the lock
How can I avoid this?The basic method is to keep the transaction open for as short a time as possible; and the simplest way to do that is to ensure that you are ready to update before you start the transaction. If the information-gathering process is lengthy, do it outside the transaction; then re-read and update, or simply UPDATE, the record in one go (and inside a synchronized method).
If all updates are independent, that's basically it; but if the update involves information that could itself be updated during the gathering process, it may not be so simple. Either way you should try to minimize your transaction to only locking data that can be compromised.
Winston
Similar Messages
-
BufferedWriter can use threaded i/o?
Dear all,
I read BufferedWriter.java from java source code, and found that it is not using thread to flushBuffer. I am wondering if we use thread to write out buffer when buffer is full, whether it will improve the write performance? -- That is, when the buffer size > nChars (the capacity of the buffer), we just use another thread to write out this buffer.
Is it possible to do so? How this can be implemented? Since I need to write out a very large file, but requires the processing time to be minimized.
void flushBuffer() throws IOException {
ensureOpen();
if (nextChar == 0) return;
out.write(cb, 0, nextChar);
nextChar = 0;
public void write(int c) throws IOException {
ensureOpen();
if (nextChar >= nChars)
flushBuffer();
cb[nextChar++] = (char) c;
}Thanks!No doubt it could be done, although there's obviously
no flag to tell the existing BufferedWriters to do it.
You would have to write your own version. One thread
writing full buffers, another one creating new buffers
and filling them. Could be an interesting project.
Would also be interesting to find out whether that
shortened the total time required to write the file at
all.Thanks DrClap, I think I only need to modify the flushBuffer() method in BufferedWriter code, since all other write() method will call this method when the
buffer is full. In flushBuffer(), first set nextChar = 0; then just create a thread for io output, such as:
new WriterThread(buffer); // inner class
// in constructor call run()
and in thread run method, do actually write:
public void run() {
if (buffer.length == 0) return;
ensureOpen(); // ensure the writer is open
out.write(buffer, 0, buffer.length ); // write out buffer
}Is this ok?
Thanks! -
Hi
I am trying to figure out how to execute code once a button_btn is hit on stage at runtime.
Thank you for help and tips!You can also try to create an event listener for the button itself. (In as2.0 it was onClick or onPress or something to that effect, now I'm not sure what they are syntaxed as but there are event listeners for buttons which "listen" to see if the button has been pressed. Mouse Events are good because it makes sure that the mouse is actually performing the action. Don't know about accessibility with Mouse Events though since you can use a Tab key to direct input of buttons so try the Button event listeners.
-
How to stop reuse asset code once its use in po
Dear All,
how to stop reuse of asset code once its use in PO or PR.
Thanks & Regards,
Mukesh Chejara
SAPDear All,
Awaiting your valuable reply.
Thanks & Regards,
Mukesh Chejara
SAP -
Function code for execute button
Hi,
I have a requirement like this...
there is a program for selective deletion from a data target by a transaction called delete_facts.
this generates a program for selective deletion. when i run this report there comes one screen asks for selections fields and then again excute it then deletion will happen.
But this program i need to modify for certain default values so as to avoid entering of the values in the selection screen.
i will use default value this will solve my 1st purpose but since this program has to be scheduled from process chain, the 2nd execute funtionality( once the values appear in the screen) shud be automated.
can anybody tell me how to do this that is after program runs values will be passed to selection screen and selection screen shud not be shown and execute shud happen automatically.
this is the code generated by transaction delete_facts:
*& Report ZTEST_DELETE1
REPORT ZTEST_DELETE1.
generated Header from i_sel_repid
generated REPORT (RSDRD)
(should be deleted after use)
Generated by..: SALAGUN
Date/Time.....: 20070322 / 051426
*REPORT GP457FUV92GJS4663HYHXLYC9Q7 .
generated Tables from i_t_tables
and i_datatarget
TABLES:
SSCRFIELDS,
/BIC/SZTESTBC
,/BI0/SCHNGID
,/BI0/SRECORDTP
,/BI0/SREQUID
,/BI0/SDATE
,/BI0/SUNIT
generated DATA/TYPES
TYPE-POOLS: RSDRD, RSDQ.
DATA:
L_INTERACTIVE TYPE RS_BOOL,
L_ANSWER(1) TYPE C,
L_TYPE(1) TYPE C,
L_PARALLEL TYPE I,
L_NO_OF_ROWS TYPE I,
L_NO_OF_ROWS_C(10) TYPE C,
L_TITEL TYPE RS_CHAR72,
L_TEXT1 TYPE RS_CHAR72,
L_TEXT2 TYPE RS_CHAR72,
L_S_RANGE TYPE RSDRD_S_RANGE,
L_S_SELTXT TYPE RSDQ_S_SELTEXT,
L_SX_SEL TYPE RSDRD_SX_SEL,
L_T_MSG TYPE RS_T_MSG,
L_THX_SEL TYPE RSDRD_THX_SEL,
L_T_SELTXTS TYPE RSDQ_T_SELTEXT
WITH HEADER LINE.
generated SELECTION-SCREEN from i_t_selscr
SELECTION-SCREEN BEGIN OF BLOCK B001 WITH FRAME TITLE T001 .
SELECT-OPTIONS C001 FOR /BIC/SZTESTBC-/BIC/ZTESTBC
default 'D' TO 'C'.
SELECTION-SCREEN END OF BLOCK B001 .
SELECTION-SCREEN BEGIN OF BLOCK B002 WITH FRAME TITLE T002 .
SELECT-OPTIONS C002 FOR /BI0/SCHNGID-SID .
SELECT-OPTIONS C003 FOR /BI0/SRECORDTP-SID .
SELECT-OPTIONS C004 FOR /BI0/SREQUID-SID .
SELECTION-SCREEN END OF BLOCK B002 .
SELECTION-SCREEN BEGIN OF BLOCK B003 WITH FRAME TITLE T003 .
SELECT-OPTIONS C005 FOR /BI0/SDATE-DATE0 .
SELECTION-SCREEN END OF BLOCK B003 .
SELECTION-SCREEN BEGIN OF BLOCK B004 WITH FRAME TITLE T004 .
SELECT-OPTIONS C006 FOR /BI0/SUNIT-UNIT .
SELECTION-SCREEN END OF BLOCK B004 .
SELECTION-SCREEN BEGIN OF BLOCK B005 WITH FRAME TITLE T005 .
PARAMETERS L_PA TYPE DBMAN_PARALLEL_DEGREE DEFAULT '01'.
DATA L_P1(1) TYPE C.
PARAMETERS L_NL TYPE DBMAN_NO_LOGGING AS CHECKBOX DEFAULT ' '.
PARAMETERS L_SR TYPE DBMAN_SHOW_REPORT AS CHECKBOX DEFAULT ' '.
SELECTION-SCREEN END OF BLOCK B005 .
generated body from i_t_body
generated INITIALIZATION from i_t_init
and i_t_seltexts
and i_batch_allowed
and i_datatarget
INITIALIZATION.
T001 = 'product'.
T002 = 'Data Package'.
T003 = 'Time'.
T004 = 'Unit'.
T005 = 'Options'.
SELECTION-SCREEN FUNCTION KEY 1.
MOVE 'Execute in Bckgrnd' TO SSCRFIELDS-FUNCTXT_01.
PERFORM RESTRICT_SEL_OPTIONS(SAPLRSDRD).
SET TITLEBAR 'SELECTION' OF PROGRAM 'SAPLRSDRD' WITH
' Delete selected entries from the data target DELETE '.
L_S_SELTXT-NAME = 'C001'.
L_S_SELTXT-KIND = 'S'.
L_S_SELTXT-TEXT = 'Base Code'.
APPEND L_S_SELTXT TO L_T_SELTXTS.
L_S_SELTXT-NAME = 'C002'.
L_S_SELTXT-KIND = 'S'.
L_S_SELTXT-TEXT = 'Change Run ID (SID)'.
APPEND L_S_SELTXT TO L_T_SELTXTS.
L_S_SELTXT-NAME = 'C003'.
L_S_SELTXT-KIND = 'S'.
L_S_SELTXT-TEXT = 'Record type (SID)'.
APPEND L_S_SELTXT TO L_T_SELTXTS.
L_S_SELTXT-NAME = 'C004'.
L_S_SELTXT-KIND = 'S'.
L_S_SELTXT-TEXT = 'Request ID (SID)'.
APPEND L_S_SELTXT TO L_T_SELTXTS.
L_S_SELTXT-NAME = 'C005'.
L_S_SELTXT-KIND = 'S'.
L_S_SELTXT-TEXT = 'Calendar Day'.
APPEND L_S_SELTXT TO L_T_SELTXTS.
L_S_SELTXT-NAME = 'C006'.
L_S_SELTXT-KIND = 'S'.
L_S_SELTXT-TEXT = 'Unit of measure'.
APPEND L_S_SELTXT TO L_T_SELTXTS.
L_S_SELTXT-NAME = 'L_PA'.
L_S_SELTXT-KIND = 'P'.
L_S_SELTXT-TEXT = 'Parall. deg. during reconstruc'.
APPEND L_S_SELTXT TO L_T_SELTXTS.
L_S_SELTXT-NAME = 'L_NL'.
L_S_SELTXT-KIND = 'P'.
L_S_SELTXT-TEXT = 'Switch off logging drng recons'.
APPEND L_S_SELTXT TO L_T_SELTXTS.
L_S_SELTXT-NAME = 'L_SR'.
L_S_SELTXT-KIND = 'P'.
L_S_SELTXT-TEXT = 'Display generated report'.
APPEND L_S_SELTXT TO L_T_SELTXTS.
generated AT SELECTION-SCREEN OUTPUT from i_sel_repid
AT SELECTION-SCREEN OUTPUT.
CALL FUNCTION 'SELECTION_TEXTS_MODIFY'
EXPORTING
PROGRAM = 'GP457FUV92GJS4663HYHXLYC9Q7'
TABLES
SELTEXTS = L_T_SELTXTS
EXCEPTIONS
PROGRAM_NOT_FOUND = 1
PROGRAM_CANNOT_BE_GENERATED = 2
OTHERS = 3.
generated AT SELECTION-SCREEN
AT SELECTION-SCREEN.
CASE SSCRFIELDS-UCOMM.
WHEN 'ONLI'.
L_INTERACTIVE = RS_C_TRUE.
WHEN 'OPTI'.
WHEN 'DELS'.
WHEN 'FC01'.
L_INTERACTIVE = RS_C_FALSE.
SSCRFIELDS-UCOMM = 'ONLI'.
WHEN 'OTHERS'.
ENDCASE.
generated END-OF-SELECTION from i_t_selopt
and i_del_repid
and i_datatarget
and i_gen_mode
END-OF-SELECTION.
IF NOT C001[] IS INITIAL.
CLEAR L_SX_SEL.
L_SX_SEL-IOBJNM = 'ZTESTBC'.
LOOP AT C001 .
CLEAR L_S_RANGE.
MOVE C001-SIGN TO L_S_RANGE-SIGN.
MOVE C001-OPTION TO L_S_RANGE-OPTION.
MOVE C001-LOW TO L_S_RANGE-LOW.
MOVE C001-HIGH TO L_S_RANGE-HIGH.
MOVE RS_C_TRUE TO L_S_RANGE-KEYFL.
APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
ENDLOOP.
INSERT L_SX_SEL INTO TABLE L_THX_SEL.
ENDIF.
IF NOT C002[] IS INITIAL.
CLEAR L_SX_SEL.
L_SX_SEL-IOBJNM = '0CHNGID'.
LOOP AT C002 .
CLEAR L_S_RANGE.
MOVE C002-SIGN TO L_S_RANGE-SIGN.
MOVE C002-OPTION TO L_S_RANGE-OPTION.
MOVE C002-LOW TO L_S_RANGE-SIDLOW.
MOVE C002-HIGH TO L_S_RANGE-SIDHIGH.
MOVE RS_C_FALSE TO L_S_RANGE-KEYFL.
start change
DESCRIBE FIELD C002-LOW TYPE l_type.
IF l_type = 'I'.
CONDENSE L_S_RANGE-LOW.
CONDENSE L_S_RANGE-HIGH.
ENDIF.
stop change
APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
ENDLOOP.
INSERT L_SX_SEL INTO TABLE L_THX_SEL.
ENDIF.
IF NOT C003[] IS INITIAL.
CLEAR L_SX_SEL.
L_SX_SEL-IOBJNM = '0RECORDTP'.
LOOP AT C003 .
CLEAR L_S_RANGE.
MOVE C003-SIGN TO L_S_RANGE-SIGN.
MOVE C003-OPTION TO L_S_RANGE-OPTION.
MOVE C003-LOW TO L_S_RANGE-SIDLOW.
MOVE C003-HIGH TO L_S_RANGE-SIDHIGH.
MOVE RS_C_FALSE TO L_S_RANGE-KEYFL.
start change
DESCRIBE FIELD C003-LOW TYPE l_type.
IF l_type = 'I'.
CONDENSE L_S_RANGE-LOW.
CONDENSE L_S_RANGE-HIGH.
ENDIF.
stop change
APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
ENDLOOP.
INSERT L_SX_SEL INTO TABLE L_THX_SEL.
ENDIF.
IF NOT C004[] IS INITIAL.
CLEAR L_SX_SEL.
L_SX_SEL-IOBJNM = '0REQUID'.
LOOP AT C004 .
CLEAR L_S_RANGE.
MOVE C004-SIGN TO L_S_RANGE-SIGN.
MOVE C004-OPTION TO L_S_RANGE-OPTION.
MOVE C004-LOW TO L_S_RANGE-SIDLOW.
MOVE C004-HIGH TO L_S_RANGE-SIDHIGH.
MOVE RS_C_FALSE TO L_S_RANGE-KEYFL.
start change
DESCRIBE FIELD C004-LOW TYPE l_type.
IF l_type = 'I'.
CONDENSE L_S_RANGE-LOW.
CONDENSE L_S_RANGE-HIGH.
ENDIF.
stop change
APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
ENDLOOP.
INSERT L_SX_SEL INTO TABLE L_THX_SEL.
ENDIF.
IF NOT C005[] IS INITIAL.
CLEAR L_SX_SEL.
L_SX_SEL-IOBJNM = '0CALDAY'.
LOOP AT C005 .
CLEAR L_S_RANGE.
MOVE C005-SIGN TO L_S_RANGE-SIGN.
MOVE C005-OPTION TO L_S_RANGE-OPTION.
MOVE C005-LOW TO L_S_RANGE-LOW.
MOVE C005-HIGH TO L_S_RANGE-HIGH.
MOVE RS_C_TRUE TO L_S_RANGE-KEYFL.
APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
ENDLOOP.
INSERT L_SX_SEL INTO TABLE L_THX_SEL.
ENDIF.
IF NOT C006[] IS INITIAL.
CLEAR L_SX_SEL.
L_SX_SEL-IOBJNM = '0UNIT'.
LOOP AT C006 .
CLEAR L_S_RANGE.
MOVE C006-SIGN TO L_S_RANGE-SIGN.
MOVE C006-OPTION TO L_S_RANGE-OPTION.
MOVE C006-LOW TO L_S_RANGE-LOW.
MOVE C006-HIGH TO L_S_RANGE-HIGH.
MOVE RS_C_TRUE TO L_S_RANGE-KEYFL.
APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
ENDLOOP.
INSERT L_SX_SEL INTO TABLE L_THX_SEL.
ENDIF.
L_PARALLEL = L_PA.
IF L_INTERACTIVE EQ RS_C_TRUE.
CALL FUNCTION 'RSDRD_SEL_DELETION'
EXPORTING
I_DATATARGET = 'DELETE'
I_THX_SEL = L_THX_SEL
I_AUTHORITY_CHECK = RS_C_TRUE
I_NO_LOGGING = L_NL
I_PARALLEL_DEGREE = L_PARALLEL
I_SHOW_REPORT = L_SR
CHANGING
C_T_MSG = L_T_MSG.
ELSE.
CALL FUNCTION 'RSDRD_BUILD_REPORT_FOR_BATCH'
EXPORTING
I_REPID = 'GP457FWJUK1J1F3ZIZZOEH9U533'
I_DATATARGET = 'DELETE'
I_GEN_ONLY = RS_C_FALSE
I_THX_SEL = L_THX_SEL
I_AUTHORITY_CHECK = RS_C_TRUE
I_NO_LOGGING = L_NL
I_PARALLEL_DEGREE = L_PARALLEL
I_SHOW_REPORT = L_SR
CHANGING
C_T_MSG = L_T_MSG.
ENDIF.
Thanks in advance,
Vijayahi!
Function code for execute button is 'ONLI'.
try ur code using it!!
Reward points if it helps.
Regards,
Neha Bansal.
Message was edited by:
Neha Bansal -
Hi,
I am very new to JDeveloper. Curently i am tryin to execute an SQL query from the BPEL process, there is an query in the source field and the output of the query is to be mapped to a variable field in the target xsd file. the query is fairly simple, like
SELECT emp
FROM emp_table
WHERE emp_id=123
The target field, namely "employee", is an element from the xsd file. I tried using Java embedding activity to connect to the db and execute the query through a piece of Java code, but couldn't find a way to assign the output of the query to the associated target field. however lately i also discovered the Database Adapter services which helps me to create a database connection, but still i am not sure as of how to handle and map the output of the query to the variable field. Is there any other way to execute database queries in Jdeveloper using BPEL process????????? Please suggest.
Can somebody please help me in resolving the issue either through Java Embed activity or Database Adapter services??
Thanks in advance
Prabhahttp://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/adptr_db.htm
maybe this one is helpful for you.
best is to use the db adapter for this.
if you just execute it you will see the format of the output in your audittrial (so some kind of list of employees). In bpel when you doubleclick the invoke-activity you will see the outputvariable.
With use of xpath you coud loop over this 'list' (collection/array/etc) of employees and do with it whatever you want.
Too see how you need to loop over the array you could check this :
http://clemensblog.blogspot.com/2006/03/bpel-looping-over-arrays-collections.html -
Executing a PL/SQL block (using Toplink)
I have a scenario where I need to execute some fairly complex PL/SQL blocks. As a tester, I am attempting to execute the following simple block:
declare val NUMBER := 1; begin val := 2; end;
Both wrapping this in an SQLCall, or a DataReadQuery give the following exception. What is the best way to execute a PL/SQL block using Toplink?
Local Exception Stack:
Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00900: invalid SQL statement
Error Code: 900
Call: declare val NUMBER := 1; begin val := 2; end;
Query:DataReadQuery()
at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:290)
at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:570)
at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:442)
at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:453)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:117)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:103)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:174)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeSelect(DatasourceCallQueryMechanism.java:156)
at oracle.toplink.queryframework.DataReadQuery.executeNonCursor(DataReadQuery.java:118)
at oracle.toplink.queryframework.DataReadQuery.executeDatabaseQuery(DataReadQuery.java:110)
at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:603)
at oracle.toplink.queryframework.DataReadQuery.execute(DataReadQuery.java:96)
at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2062)
at oracle.toplink.publicinterface.Session.executeQuery(Session.java:981)
at oracle.toplink.publicinterface.Session.executeQuery(Session.java:938)Could you try the following:
Session s = ...
DataModifyQuery dmq = new DataModifyQuery();
SQLCall sqlCall = new SQLCall();
sqlCall.setQueryString(
"declare\n" +
" val NUMBER := 1;\n" +
"begin\n" +
" val := 2;\n" +
"end;");
sqlCall.setQuery(dmq);
dmq.setCall(sqlCall);
s.executeQuery(dmq); -
Executing a full-text search using KM APIs
Hello,
I'm doing a KM Folder search using KM APIs. The code looks similar to this
=====================================================
IGenericQueryFactory queryFactory = GenericQueryFactory.getInstance();
IQueryBuilder queryBldr = queryFactory.getQueryBuilder();
IPropertyName ipn = new PropertyName("http://sapportals.com/xmlns/cm", "lang");
IQueryExpression queryExpr =
queryBldr.like(ipn, language.toLowerCase());
IGenericQuery query = queryFactory.toGenericQuery(queryExpr);
IResourceList result = query.execute(
collection, Integer.MAX_VALUE,7,false);
======================================================
Issue: How can I execute a full-text search using these APIs.
i.e. If the keyword exists in the body of the document, the search should return that document.
Any help on this would be much appreciated.
Thanks,
HarmanThanks for your helpful answers.
So, which APIs should I use to accomplish my goal? I need to search for custom KM attributes, AND the body of the document.
We are currently running EP6 SP2.
Should I use the IFederatedSearch API.
Thanks,
Harman -
What is the function code for execute
Hi,
What is the function code for execute.
I am using set pf-status under initialization.
Thanks.
Sai.Hi,
If your adding a execute in pf-status then we can give the function code for execute as 'EXEC' - F8.
Nyways it automatically comes no need to explicitly add in pf-status. The standard function code is 'ONLI'
just we need to check the sy-ucomm value and perform what you want.
i.e if sy-ucomm = 'EXEC'.
endif.
hope this help you.
plz reward if useful.
thanks,
dhanashri.
Edited by: Dhanashri Pawar on Jun 26, 2008 11:43 AM -
hello can anyone please give me the code to execute a query.
i want to input an id and when i press enter, a query must be executed in a
master form.
i tried using the trigger when key entered but was not successful.
any help will b grateful.
thanksThis is exactly the way a default block on your table would work.
Create a default block on the table, run your form, press the enter_query button insert the id and press the execute_query button.
If you want you can also check the online help about set_block_property(Default_where) and execute_query built-ins. -
Playing two midi files at once using threads?
Hi all, I have the following simple code here which plays a midi file, but I'm not sure how to use threads to play two midi files at once:
import org.jfugue.*;
import javax.sound.midi.*;
import java.io.*;
public class MidiPlayer {
public static void main (String [] args) {
try {
Player player = new Player();
player.playMidiDirectly(new File("C:\\Sounds\\bach.mid"));
} catch (IOException e) {
} catch (InvalidMidiDataException e) {
Is there a way to use a thread for this class so that in another class I can call 'start' twice and have the parameters be the midi file locations (e.g. "C:\\Sounds\\bach.mid" & "C:\\Sounds\\bach2.mid").
Any kind of help would be great, thank you!Something like the below.
import org.jfugue.*;
import javax.sound.midi.*;
import java.io.*;
public class MidiPlayer {
public static void main (String [] args) {
String fileName = "c:\\Sounds\\bach.mid";
Thread t1 = new Thread(new MyRunable(fileName));
t1.start();
String fileName2 = "c:\\Sounds\\bach2.mid";
Thread t2 = new Thread(new MyRunable(fileName2));
t2.start();
} // main
class MyRunnable implements Runnable {
private String fileName
public MyRunnable( String fileName) {
this.fileName = fileName;
public void run() {
Player player = new Player();
player.playMidiDirectly(new File(fileName));
} // MyRunnable
} // -
How can I resolve error code -54 in iTunes? I am using the latest iTunes. No new updates are available. I'm using iTunes 11.3 on a MacBook Pro, OS X 10.6.8. I can't save my library in iTunes, the message just keeps popping up.
From an OS9 reference, error -54 is a software lock on a file or a permissions error. (Although there is no formal list of OSX error code some of the old codes still apply to OSX .)
First, try simply restarting your computer.
Try quitting iTunes, then deleting the .xml (not .itl !) version of the library file in the iTunes folder (iTunes will generate a new one).
iTunes Library cannot be saved (Error -54) - https://discussions.apple.com/thread/1912814 - various things to try.
Unknown error (-54) while syncing ipod - https://discussions.apple.com/thread/1082953 - problem was locked files
Why does iTunes keep showing a -54 error when I sync my iPad? - https://discussions.apple.com/thread/3727114
Error -54 possibly related to Touch Copy - https://discussions.apple.com/thread/3727114 - cleared by deleting preferences on iPad.
iTunes: Missing folder or incorrect permissions may prevent authorization - http://support.apple.com/kb/ts1277
Troubleshooting permissions issues in Mac OS X - http://support.apple.com/kb/HT2963 -
I am getting an error that my Disc cannot be found, may be dirty, etc... Please reinsert and try again. After retrying, I cannot download, as the redemption code indicates that it has already been used. How do I download movie now?
Thanks for the quick advice!
Unfortunately, I am still unable to open my core productivity apps, namely Skype and Evernote. Twitter, as well, could not start. But interesting quick fix though, I never knew you could do that.
Here's the error log after the restart:
What else should I try? -
trying to do a hard reset on my iphone 4s. never had a lock code on the device. I am using an iphone 5 and after update i add a security code.
I am using the same one but it does not accep the code.
Is there any other way to do the hard reset on the device?I went to Setting, General, and reset, I select Reset all settings and contents and it asked me for a 4 digit code but when i use the one on my current iphone 5 id doest work.
-
Once I create a html5 animation using the 'Toolkit for CreateJS' in flash, how do I then insert it into a webpage via Dreamweaver:
This has been sending me round in circles for over a week - can anyone let me know how I do this or can they point me in the direction of a tutorial? Thank you in advance - d;-)There are some tutorials on Adobe site:
<http://www.adobe.com/devnet/createjs/articles/getting-started.html>
<http://tv.adobe.com/watch/adc-presents/toolkit-for-createjs-part-1-designing-game-assets/>
<http://tv.adobe.com/watch/adc-presents/toolkit-for-createjs-part-2-adding-game-interactivi ty/>
The parts 1 and 2 are videos about 10 minutes each while the first link is a detailed article that you can print and practice on your machine.
Hope this helps.
Maybe you are looking for
-
Print documents from DMS with Output of Billing Document
Hi, I have a requirement to print the DMS attachements of an Billing document, when triggering the output type of the document. Is there a third party product which can provide this functionality or will abap changes be required to the print
-
RecordSet Structure Sequence Variable in JMS like in File Adapter
Hi all, We are having some problems trying to find how to implement the functionality of the variable recordset structure in a JMS adapter. We do have a structure with this form: HR - data AR - data AR - data HR - data The two first chars are the key
-
HT2508 airport Express not working in Mountain Lion
My old airport express stopped working properly since I loaded Mountain Lion. I purchased a new Airport Express and it will work, but the audio fades in and out. I am connected from the airport express unit to my audio receiver via a 3.5 out into R
-
Reg Content submission in SDN.
Hi, I am facing this weird thing related to the Content Submission System. I had submitted two articles on October 6th and 9th, this year. The status of these articles when i submitted was "Submitted" . Since that time till date, the status of the do
-
Asks for a new address when actavation on adobe system?
I put the correct adress in but it did not like the orginal address. I'm not going o add more addresss to my files.