BC4J and CVS

When I update an BC4J component's XML file It's not updated. This can be v. dangerous e.g. Developer A working on a project, meanwhile Developer B remove a column from an entity object and commits it's work. Developer A run update to include Developer B's changes in its version. But Entity Object in A is not get updated properly and when Developer A commits it's work, the column that developer B had removed appears again.

Hi,
At the moment, the architecture of JDeveloper is that the SCM support is a completely separate and distinct module from BC4J. Because of this, there is no special awareness in the SCM support about BC4J and dependencies between files it uses, so there's no way it can automatically check files out when the BC4J design time needs to update them. For the user, this is somewhat inconvenient: the user must anticipate what BC4J is going to change and check those files out in advance. We recognize this as a usability problem that needs to be resolved.
We are hoping to provide better integration with components of the IDE by providing an interface to the version system through the extension API in the IDE. However, adopting this in the main areas of the IDE (such as BC4J) will involve a significant investment of time and this is unlikely to be completed for the next (9.0.3) release. We are targetting this improved integration for a future release of the IDE (possibly the 9.0.4 or 9.2 release).
Thanks,
Brian
JDeveloper Team (SCM)

Similar Messages

  • Jdevelop 10g production, linux , bc4j and cvs

    I have a problem with redhat 9, if i try to check out bc4j from the cvs (not scm, the one that comes with linux)
    The association end(s) do not specify an attribute
    yet when they are checked out in Windows Xp this error does not appear.
    They have been checked in originally with Windows Xp, is this a setup issue with jdeveloper on redhat as the attributes are clearly visible in the xml file. This happened with the preview as well but not with 9i

    Try closing the Project and reopening it and see if that makes it pick up the changes.
    Rob
    Team JDev

  • Best practice: team based development with JDeveloper and CVS?

    Hi all!
    I was wondering of what is the best way to work with Jdev 9i and cvs on a same project with 5 developers whereas
    all developers use the same JPRs and JWS?
    Which of the files should be checked in to the central CVS repository, which should be remained on the local machine of each developer?
    I assume, all java and xml files might be stored in the cvs repository. But how can we make sure that new files written by a member of the team will be added to my project?
    If we also check in the JPR and CFG files the merge of concurrent JPRs will fail and our project will be shreddered ;-)
    My question: what is your best experience with simultanous development on same projects?
    Any idea?
    Many thanks,
    Stefan

    1. Put everything that your project needs under CVS control:
    - buildscripts
    - BC4J jarfiles
    - BC4J generated files (java, xml, xcfg, jpx, cpx)
    - .properties, package.html, gif, ...
    - docu
    - install scripts
    - starter batch or exec, ...
    2. Each developer should have a own JPR and JWS file. In a seperate location those files could be checked in frequently to easy allow the setup of a new Developer workstation
    3. Use a sourcecode formatter (e.g. jalopy) on the BC4J generated java files to reduce merge conflicts because of empty lines generated by JDev dialogs
    4. Adding new files is no problem:
    - if you add new BC4J objects (AM, VO, ASC, EO, VL) also checkin the bc4j package XML so new files will be added.
    - set in project settings common / input paths - "Scan source path ..."
    5. Deleting BC4J files is a problem, because JDev does not automatically remove them from the project. So if someone deletes BC4J objects, you should close the project and delete it manually from the jpr file
    6. Close the project before making a CVS update wih external tool like Tortoise because of JDev caches
    Regards, Markus

  • Jheadstart, JDeveloper and CVS and TeamWork

    Hi
    We're four-developer team and we've been working with Jheadstart for some months. Now we want to work with team options that provide jdeveloper (CVS or SCM). But, we are a too much suprised with all the problems that other developers had with CVS, we read it in some jdeveloper forums (JDeveloper and CVS and TeamWork and JDeveloper and CVS
    I get very worry about the problems that developers had with CVS and that at last they don't find a better solution than migrate to jdeveloper 10.1.3. All the forums recomend migrate to jdeveloper 10.1.3 for better support of team work, but I read (some time ago) that jdeveloper 10.1.3 still doesn't support ADF, then I assume we cannot use it with Jheadstart, Am I right? Is there a way to use Jheadstart with JDeveloper 10.1.3 Preview right now?
    What do you recomend for team work with Jheadstart?
    Thanks in advance
    Liceth

    Liceth,
    As you problably know, the JHeadstart team consists of consultants and we face the exact same problems and share the exact same frustrations as you do on an every day basis at our customer projects. It is indeed not easy to use JDeveloper in a multi-developer environment. In all fairness much of this is a given when doing file-based development, and I have seen the exact same problems in situations where other IDE's such as Eclipse etc were used. But using advanced frameworks like ADF and BC4J makes matters more complex, because the declarative way of developing these applications using drag&drop and powerful wizards make you as a developer be less 'in touch' with the file or files that are actually created and updated, and also there tend to be more files in such an architecture that are changed simultaneously by many developers at once.
    Merging is the only way out of this mess, and merge tools are not perfect, far from it. They get better and better but at some point you'll need to understand the semantics of the files that are to be merged to be able to merge them correctly, and merge tools will in all likelyhood never become that smart.
    Until they do, the only thing one can do is to tackle the problem from the other side: if merge tools dont understand the files they merge, we should take into account the weaknesses of these merge tools, and set up our files so that changes CAN be automatically merged, or in most cases at least. Indeed, JDeveloper 10.1.3 is taking good steps in this direction for notoriously tricky files such as JPR files and such. But the problem will never completely go away.
    As for using 10.1.3, well, as you said the preview does not contain ADF so JHeadstart will never run on it. We are developing JHeadstart 10.1.3 that will run on the production version of JDeveloper 10.1.3, but it will be a long time before that release will see the light. And although JDeveloper 10.1.3 is a kick-ass IDE (imho), it will not magically solve all multi-user issues. It will just be a bit more bearable.
    Is there ever a real solution for it? I don't know. I have worked intensively with the Oracle Designer product before I switched to Java, and that tool, which uses a database rather than files to store its information, was almost perfect when dealing with multi-user development. It could do so because the level at which conflicts occur is VERY finegrained (so not at 'code line' level but sometimes as far as 'individual properties in a property inspector' level), plus the advantages of instantaneous locking in the database when modifying something. And, thinking of it, it could do so because it dealt with 'structured objects' rather than files, thereby having some 'semantic' information about the data. I have this feeling we can only 'get it right' if we will treat, for instance, a Java file not as a collection of lines of code, but of a structured object tree with members, constructors, methods, parameters etc. etc., and store it as such, instead of storing it as a flat OS file.
    Just ranting here (this really should be a personal BLOG entry rather than a forum post, but oh well). As you can tell, its a subject that is very close to every developer's heart.
    Kind regards,
    Peter Ebell
    JHeadstart Team

  • Struts Diagram and CVS Problems

    We're having a difficult time with the StrutsPageFlow.oxd_struts and CVS. Anytime a developer makes a change to the Struts diagram and commits the struts-config.xml file, the StrutsPageFlow.oxd_struts file also gets committed. When a different developer updates the struts-config.xml file the StrutsPageFlow.oxd_struts file has a conflict on just about every item. We're also encountering this on our *.jpr and bc4j.xcfg files.
    JDeveloper 10g is stealing a lot of our time as we're having to manually work around a lot of CVS conflicts on files that are not shown in the project but associated with project files like the struts-config.
    Anyone else having CVS issues with these "behind-the-scene" files?

    Hi Jason,
    Unfortunately, this is a known issue. The only workaround we can suggest for struts at the moment is using an exclusive editing mode. Whenever a developer needs to modify the struts diagram, he should issue a cvs edit. Other developers should use the "List Editors" functionality in JDev to check whether someone is currently editing the file.
    We're working on resolving these team development issues in the 10.1.3 release.
    Thanks,
    Brian

  • [URGENT] Performance problem with BC4J and partioned data

    Hi all,
    I have a big performance probelm with BC4J and partitioned data. As as partitioned table shouldn't have a primary key like a sequence (or something else) my partitioned table doesn't have any primary key.
    When I debug my BC4J application I can see a message showing me "ignoring row with no primary key" from EntityCache. It takes a long time to retrieve my data even if I use the partition keys. A quick & dirty forms application was multiple times faster!
    Is this a bug in BC4J, or is BC4J not suitable for partitioned data? Can anyone give me a hint what to do, do make the BC4J application fast even with partitioned data? In a non-partitioned environment the application works quite well. So it seams that it must be an "error" somewhere in this part.
    Thanks,
    Axel

    Here's a SQL statement that creates the table.
    CREATE TABLE SEARCH
    (SEAR_PARTKEY_DAY              NUMBER(4)        NOT NULL
    ,SEAR_PARTKEY_EMP            VARCHAR2(2)      NOT NULL
    ,SEAR_ID                     NUMBER(20)       NOT NULL
    ,SEAR_ENTRY_DATE             TIMESTAMP        NOT NULL
    ,SEAR_LAST_MODIFIED            TIMESTAMP             NOT NULL
    ,SEAR_STATUS                 VARCHAR2(100)    DEFAULT '0'
    ,SEAR_ITC_DATE               TIMESTAMP        NOT NULL
    ,SEAR_MESSAGE_CLASS          VARCHAR2(15)     NOT NULL
    ,SEAR_CHIPHERING_TYPE        VARCHAR2(256)   
    ,SEAR_GMAT                   VARCHAR2(1)      DEFAULT 'U'
    ,SEAR_NATIONALITY            VARCHAR2(3)      DEFAULT 'XXX'
    ,SEAR_MESSAGE_ID             VARCHAR2(32)     NOT NULL
    ,SEAR_COMMENT                VARCHAR2(256)    NOT NULL
    ,SEAR_NUMBER_OF              NUMBER(3)        NOT NULL
    ,SEAR_INTERCEPTION_SYSTEM    VARCHAR2(40)    
    ,SEAR_COMM_PRIOD_H           NUMBER(5)        DEFAULT -1
    ,SEAR_PRIOD_R                  NUMBER(5)        DEFAULT -1
    ,SEAR_INMARSAT_CES           VARCHAR2(40)    
    ,SEAR_BEAM                   VARCHAR2(10)    
    ,SEAR_DIALED_NUMBER          VARCHAR2(70)    
    ,SEAR_TRANSMIT_NUMBER        VARCHAR2(70)    
    ,SEAR_CALLED_NUMBER          VARCHAR2(40)    
    ,SEAR_CALLER_NUMBER          VARCHAR2(40)    
    ,SEAR_MATERIAL_TYPE          VARCHAR2(3)      NOT NULL
    ,SEAR_SOURCE                 VARCHAR2(10)    
    ,SEAR_MAPPING                VARCHAR2(100)    DEFAULT '__REST'
    ,SEAR_DETAIL_MAPPING         VARCHAR2(100)
    ,SEAR_PRIORITY               NUMBER(3)        DEFAULT 255
    ,SEAR_LANGUAGE               VARCHAR2(5)      DEFAULT 'XXX'
    ,SEAR_TRANSMISSION_TYPE      VARCHAR2(40)    
    ,SEAR_INMARSAT_STD           VARCHAR2(1)     
    ,SEAR_FILE_NAME              VARCHAR2(100)    NOT NULL
    PARTITION BY RANGE (SEAR_PARTKEY_DAY, SEAR_PARTKEY_EMP)
      PARTITION SEARCH_MAX VALUES LESS THAN (MAXVALUE, MAXVALUE) MIRA4_SEARCH_EVEN
    );of course SEAR_ID is filled by a sequence but the field is not the primary key as it would decrease the performance of partitioned data.
    We moved to native JDBC with our application and the performance is like we never expected to be!

  • JDeveloper and CVS and TeamWork

    Hi,
    we have a small team with 4 members and are developing in JDeveloper 10.1.2 with CVS plug-in (struts, toplink, jsp).
    We are beginners and are frustrated now: every commit/update causes problems.
    Always are problems with
    - project.jpr files (synchronization among developers)
    - sessions.xml (we cannot really add this file to cvs)
    - state of offline tables (and digrams) are sometimes wrong show: restart of JDeveloper is necessary
    - many JDevelopers files are unvisible, but must be added to cvs
    - and more and more
    Please - are somebody using JDeveloper & CVS in team with satisfaction? Are our problems beginner-problems or is this way wrong?
    Thanks for your experience.
    Jara

    My biggests issues with JDeveloper and CVS are as follows:
    1. Oracle puts out an article that talks about Version controllable XML and the biggest culprits of violators of this rule are the Oracle project files: StrutsPAgeFlow.oxd_struts, ViewController.jpr, and Model.jpr. Not nice when you can no longer open your Struts-config.xml file due to all the <==== lines in the file! In almost all instances, since we've built most of the files and aren't adding/removing much from the project as a whole, we can easily correct these problems then commit again, or just issue a clean update on them, and disregard (especially when it appears to be an ordering issue)
    2. Also, we've seen model.jpr files switch contents (areas look like they are swapped around) in between versions. Why? The files are identical except the position of the nodes.
    3. I really want to know my OUT-OF-SYNC files BEFORE I do an update. Kind of like the Uncommitted files window, I'd like: Hey, how out of sync am I?
    4. The COMPARE utility is very nice, however, once CVS takes over and does the automatic MERGE, you're really left with a mess (at times). Any time we get a "failure to update" message, we issue a compare against the current reposistory version verses version on disk and see what the differences are. Then we search for whether our stuff was merged properly.
    5. The only docs I've seen on Jdeveloper and CVS are "introductory" type documentation. Don't put out a document that talks about issues that are "out-of-scope" when these are the very issues that people need to deal with every day, and are looking for answers. The "oracle jdeveloper 10g" handbook is no better, offering about 4 pages of an "overview of CVS".
    6. People have asked before about CVS, even on Metalink and an answer from Oracle is to look at an OTN post. I'm sorry, but that really doesn't cut it, especially when your support bill is over $500K/year.
    enough rambling...
    CVS and Jdeveloper 10.1.2 are working at our shop with 3-4 developers on the project, but it can be paintful during the "conflicts during merge" times.

  • BC4J and OAS with Java Application Client

    Could you show me an example about using the BC4J and OAS with Java Application client.
    The JDeveloper Help is not enough to solve this kind of problem.
    Configuration:
    Jdeveloper 3.1
    OAS 4.0.8.1
    Database 7.3.4
    null

    if you can logon with client tools then that should be an indication that the service account running the CMS IS working! Good news.
    So the problem is likely with the java portion (krb5/bsclogin or java options)
    If the files are in c:\winnt\ (if not copy them there) and perform c:\program files\business objects\javasdk\bin\kinit username
    then enter and password/enter again
    Probably get the same message. To note in your krb5.ini all domain info must be in CAPS (the .com appears to be in lower case)
    kinit works with just the krb5.ini, java SDK and AD (removing BO config and the service account from the picture). Once that works if your java options are specified properly you should be able to login to CMC/infoview.
    also 1 last point. Add udp_preference_limit = 1 to the krb5 lib defaults section
    libdefaults
    default_realm = BD.com
    dns_lookup_kdc = true
    dns_lookup_realm = true
    udp_preference_limit = 1
    Regards,
    Tim

  • About BC4j and java stored procedure

    Is it possible create a java stored procedure using BC4j and deploy to Oracle9iR2 VM?
    If it is possible, how about the performance compare to PL/SQL stored procedure?

    In 9.0.3.3 it will be possible again. The ability to deploy a BC4J-based, local-mode Java Stored Procedure was broken in 9.0.3 before this upcoming maintenance release.
    PL/SQL will almost surely be faster if you are talking about just doing basic DML type of operations, when compared to Java stored procedures.

  • JDeveloper and CVS

    Hi All,
    Just for anybody getting started with JDeveloper and CVS. I've been using both during a while and my comments are:
    -- If you are thinking to replace your old CVS System, you really must think about it, JDeveloper just incorporates a little subset of features any CVS System actually has (like eclipse).
    -- If somebody have been working with the same code your are using, to know if the code have changed isn't as simple like to make a "check for changes or compare with". Because if you use "JDeveloper Compare With option", JDeveloper check correctly for changes, but for changes over your own last revision, so if somebody create a new revision, you will loose your changes.
    well I think JDeveloper creators must make a lot of effort to incorporate CVS functionality, if not, better remove this option from it.
    anybody has any comments???

    I need to try to understand why you would want to erase a version controlled file in your sandbox from disk but not remove it from version control. I guess we do this automatically because it seems like the right thing to do... it should be noted that this is also the default behavior in Eclipse.
    If you remove a file from your sandbox but do not schedule it for removal from CVS, you could basically make changes in your sandbox that will cause other developers to run into compilation errors after you commit and they update.
    E.g. SomeClass.java depends on a class defined in AnotherClass.java. You remove SomeClass.java from disk but not from the sandbox. You then rename a method in AnotherClass.java that SomeClass.java had been using. You compile your project, it all seems fine. You commit your changes to the cvs repository. Then your collegue updates and the world is broken.
    It seems like a bad way to work. I'd be interested to know what the usecase is for doing this and whether there is perhaps a better way of achieving it (e.g. using working sets or the project content filters).
    I'm aware of the issues with the files you mention. They're not really issues with the CVS support as such, they're issues with the parts of the product which generate those files. I know that probably doesn't make much difference to you, but it is relevant in terms of how (quickly) things get fixed.
    The xml mergeability of several IDE files (in particular projects) improved greatly in JDeveloper 10.1.3 preview. I've tried very hard to raise awareness in the teams that develop those other features (ADF and Struts) about issues they have with version control. It's sometimes hard to convince people that there's really a problem for some reason. I'm hoping things will eventually improve. You can help that a lot by reporting such issues to your Oracle Support representative so that your specific problems are being tracked as TARs.
    Thanks,
    Brian

  • Demo applications with BC4J and JClient

    Are there any demo applications with BC4J and JClient, which go beyond the one frame samples, tutorials and how to's?
    This would deliver a better insight to develop a complete application.
    Bye
    Holger

    Thanks,
    the Virtual Shopping Mall sample is quite not I have searched for, because it is primarily an Web application and I am searching for an JClient application without Application Server, but it is a beginning.
    Bye
    Holger

  • (UIX XML) Sharing Connection objects between BC4J and custom java.

    If I have a UIX XML page that contains some BC4J application modules, then in the event handler I call [public static EventResult handleMyEventEvent (BajaContext context, Page page, PageEvent event..) ], which in turn calls some java classes I have written that take a java.sql.Connection object and access the database doing some updates/inserts with this Connection object (via JDBC)....HOW CAN I USE THE SAME TRANSACTION AS WAS USED IN THE BC4J APPLICATION MODULE...i.e. CAN I SHARE THE CONNECTION OBJECT BETWEEN BC4J AND MY OWN JAVA CLASSES THAT USE JDBC?
    What are the best ways to share such a transaction?
    Thanks,
    Paul.

    Would it be easier to use a custom method on the bc4j Application module?
    Take this scenario...
    1. User opens UIX XML web page which opens a bc4j App Module..it has a VO based on all employees.
    2. User presses the add button and a new employee is created (using the bc4j App Module).
    (Notice: no commit yet!)
    3. User presses the submit button...fires event REVIEW_SALARY.
    4. This event is 'handled' in the event section of the UML XML...it calls:-
    public static EventResult handleREVIEW_SALARYEvent (BajaContext context, Page page, PageEvent event)...
    5. I now want to call a java class I wrote that computes an employees new salary and updates the employee record with this new salary. This update will fail unless it is part of the same transaction as the one used by the bc4j App Module (that inserted the new employee).
    How best to proceed from here?
    How about having a method on the bc4j App Mod's VO called 'reviewSalary'? Calling this would use the same transaction? I could then call my java class from within the VO's method? However do I still have the same problem in that my java class expects to be passed the connection object?
    The approach you suggested previously seems a touch dangerous....in that these are not 'publically exposed'...and a new release of JDev may break my code.
    Thanks,
    Paul.

  • Problem with BC4J and PostrgreSQL 7.2

    I successful configure connection to PostgreSQL DB.
    Then I create simple table on DB and create BC4J appmodule.
    In appmodule properties I change jbo.sql92.JdbcDriverClass = org.postgresql.Driver
    I run test appmodule in BC4J browser. I see my row in table but when I try to put something in table
    JBO-27123: SQL error during call statement preparation. Statement: INSERT INTO CITIES(name,last) VALUES (?,?)
    Callable Statements are not supported at this time.
    Same thing is happening on delete or update ???
    When I put some data into table from connection/sqlworksheet in Jdeveloper everething is ok.
    I use JDeveloper 9.0.2.829

    REPOST

  • EJB 3.0, BC4J and weblogic managed server

    Hi, I've got a problem using EJB 3.0 with a BC4J Application module in a weblogic managed server.
    My bean is a stateless session bean that use BC4J for database transaction.
    When I call the bean the first time, It returns de values I need, without problem. If I do the same call again, I always get "null". I deployed the same bean on the AdminServer, linking to the same DataSource, It works fine and I never got a null result.
    My application module is created insid my EJB abstract class by :
    _am = (BaseServiceImpl)Configuration.createRootApplicationModule(adfModel, adfConfiguration);*
    Where adfModel and adfConfiguration are configured through annotations in my EJB Implementation.
    In my abstract EJB, I have a methode with a +@PreDestroy+ method like that :
    +@PreDestroy+
    *protected void releaseModele() {*
    *if (_am != null) {*
    Configuration.releaseRootApplicationModule(_am, false);
    _am = null;*
    My Data Source on the server is defined as Supporting Global Transaction, one-phase commit. I activated the BC4J Logs on the server to see what was going on and I see that the JDBC seems to close after the first call :
    *** closing jdbc connection now **** (weblogic.jdbc.wrapper.JTSConnection_oracle_jdbc_driver_T4CConnection@0)
    And that is when I've got the error on the server :
    oracle.jbo.InvalidObjAccessException: JBO-25036: An invalid object operation was invoked on type View Object with name AppModAD
    So, my JDBC connection seems to close somewhere beetween the first and the second call, but only on a managed server... Someone has ever encountered a problem like that?
    Maybe there is something with the configuration of a datasource on a managed server? Or with the lifecycle of an

    The solution was to NOT have glabal transaction checked in the configuration of the data-source and "Failover Transaction State Upon Managed Release" uncked in the configuration of the Business component configuration.

  • Using Struts with JDeveloper, BC4J and OC4J 9.0.2

    Is it feasible to use Struts with JDeveloper 9.0.2, BC4J 9.0.2 and OC4J 9.0.2? We have an application that uses the BC4J JBO tags in version 9.0.2. We wish to use Struts and we want to retain the use of the JBO tags. Is there a way to do this without upgrading to 9.0.3?

    Here are two related questions:
    Can we upgrade to oracle9iAS 9.0.3 yet still use JDeveloper 9.0.2 and BC4J/JBO 9.0.2?
    Can we upgrade to JDeveloper 9.0.3 and BC4J/JBO 9.0.3 yet still deploy to oracle9iAS 9.0.2?

Maybe you are looking for

  • BEST BUY PC APP "DOWNLOAD ERROR"

    Ok, I just payed 30 dollars for a freaking Sonic Generations download on my PC.. AND THEN, after I pay I find out you have to download some crappy 3rd party downloading system, and hey guess what? I can't download the effing game! Why does it keep sa

  • PO approval/Release authorisation issue

    Hi, Pl. let me know the procedure for below scenerio: Once a PO is approved by the concerned final authority(it is in released stage) , subsequently the PO should not be editable  until it is de-released by the same approval authority. Changes should

  • Does airport express support guest network

    i have a client with an airport extreme (802.11n/4th gen) and an airport express (802.11n/1st gen). the express is located in an outbuilding, connected to the extreme via powerline adaptors, and configured as wds (that is,  the express broadcasts the

  • Windows Thin PC SP1 32-bit - can't properly install Photo Viewer package

    I have performed a clean installation of Thin PC SP1, and tried to add a Windows Photo Viewer package: 1. Downloaded Standard_7SP1_32bit\Standard 7 SP1 32bit IBW from http://www.microsoft.com/download/en/details.aspx?id=11887 2. Found a Feature Packa

  • Labelling and tags in iTunes. A specific help request!

    Hi Guys, I'm pretty fussy about keeping my iTunes collection neat, tidy and organised but I have one problem I can't seem to resolve. I have a boxed set of every album produced by Joe Satriani but recorded at 96KHz 24 bit. I also have the whole colle