Posts mit dem Label oracle jdeveloper werden angezeigt. Alle Posts anzeigen
Posts mit dem Label oracle jdeveloper werden angezeigt. Alle Posts anzeigen

2018-12-03

Solving Integrated Weblogic Coherence Issue in JDeveloper 12.2.1.3

Recently after a java update (Oracle JDK 1.8.0_144) and reinstallation of a oracle virtual box version (5.2.18 r), I stumbled across as severe issue regarding my integrated weblogic server as it would not start anymore. Instead it would repeatedly print the following lines:

<03.12.2018 14:51 Uhr MEZ> <Warning> <com.oracle.coherence> <BEA-000000> <2018-12-03 14:51:03.621/41.438 Oracle Coherence GE 12.2.1.3.0 <Warning> (thread=Cluster, member=n/a): This Member(Id=0, Timestamp=2018-12-03 14:50:32.801, Address=xxx.xxx.xxx.xxx:61846, MachineId=27972, Location=site:team-pb.de,machine:pcteam114,process:7564,member:DefaultServer, Role=WeblogicServer) has been attempting to join the cluster using WKA list [/xxx.xxx.xxx.xxx:7574] for 30 seconds without success; this could indicate a mis-configured WKA, or it may simply be the result of a busy cluster or active failover.>

<03.12.2018 14:53 Uhr MEZ> <Warning> <com.oracle.coherence> <BEA-000000> <2018-12-03 14:53:26.720/184.537 Oracle Coherence GE 12.2.1.3.0 <Warning> (thread=Cluster, member=n/a): Delaying formation of a new cluster; unicast networking appears to be inoperable on interface xxx.xxx.xxx.xxx as this process isn't receiving even its own transmissions; consider switching network interfaces>


which stated that the technologically mapped coherence cluster (which consists of only the DefaultServer) was not getting any responses (and thus could not connect to the cluster itself). As there is only one server in our coherence cluster, it will be always the unicast-master and thus needs to check initial pings on itself (as others would ping it in this scenario).

To fix this issue, you could do the following:
  1. Remove the coherence cluster as a whole (as this is the integrated WLS, it seems irrelevant for most cases anyway)
  2. Set the coherence cluster to be in multicast mode. This would lead to n:m pinging in the cluster, but as there is only one server, it does not bring performance issues as you might get in a real Worldwide clustered environment

Solution 1:

To remove the coherence cluster awareness of the default server, you just have to remove the coherence-cluster-system-resource tag from the domains config.xml file (which resides in your $DOMAIN_HOME/config folder).

<server>   
  <name>DefaultServer</name>
     …  
  <coherence-cluster-system-resource>defaultCoherenceCluster</coherence-cluster-system-resource>
</server>

Just remove the highlighted entry and the server should start (without any awareness of coherence).

Solution 2:

To change the type of coherence the cluster is using, you have to add a property inside the CoherenceSystemResource config file (which is located in the $DOMAIN_HOME/config/coherence folder). The correct *-coherence.xml is the one with the same name as the coherence systemResource as seen in Solution 1 (by default: defaultCoherenceCluster-coherence.xml).

Just add the following highlighted line in the coherence-cluster-params element-tag:

  <coherence-cluster-params>
    <cluster-listen-port>7574</cluster-listen-port>
    <clustering-mode>multicast</clustering-mode>
  </coherence-cluster-params>

This also should lead to the server starting again.

Cheers!

2017-02-28

Delaying Attribute Validations in ADF for LOV-based fields until commit

I think many ADF developers have encountered the unlazy validation of JSF components during their UI implementations. Especially when creating a new record, the auto submit / partial trigger reactions are quite unpleasant for users. Take this for example:


In this, the user inserted the fields in tab-order. After leaving the field salary (doing a auto submit, triggering the job field), the job validator executes and marks a red border to inform the user of the issue. As the user has never inserted the field up to this point, this is not very nice. One valid change is to remove the mandatory flag from the attribute and delegate the validation towards entity level. But then, you will lose the "red border at attribute" response and get a FacesMessage leaving the user in question, which attribute to change to solve the invalid entity.

Andrejus Baranovskis has written a nice article, how to solve this issue when encountering attributes on the same entity, the validation is occuring on:

http://andrejusb.blogspot.de/2017/02/setting-invalid-fields-for-ui-in-adf-bc.html

So let us extend the usecase a bit.

Issue:

For many List of Value components, users do not want to see the key (for example JobId) in the input text, but the looked up value (JobTitle in this case).



To implement this, there are many options to take. To combine the lov requirement and the delayed attribute validation, let me show you one implementation, that works and is quite declarative.

Define the following use cases:

  • Users want to be able to change the Job of an employee using a list of values showing the title, not the id of the job
  • When changing the salary of an employee, the job will be nullified
  • An empty job leads to a validation, but this should only occur on save button or navigation

The second use case defines the usage of partial triggers / auto submit on JSF side later on.

Solution:

To start, we need the base Entity (Employees), a View Object on that entitity (EmployeesView) and a Lookup View Object (JobsLookupView).


Next create a Transient Attribute on Employees Entity, representing the JobName. This will be the target Attribute for the delayed validation and is the base attribute for the lov.

This Attribute uses an expression referring a ViewAccessor on JobsLookupView:




Expression:

JobId != null ? JobsLookupView.getAllRowsInRange().find{it['jobId']==JobId}['jobTitle'] : null

Next, we will add the entity validation (referring Andrejus' blog entry):


(opt. add failure message)

Add dependencies on Entity attributes:




Additionally remove the mandatory flag from the JobId Attribute (to allow entity validation to do the not null check)

Add LOV to EmployeesView JobName Attribute:


(rem: We can use the Employee-level view accessor in this case because we do not use dynamic query components in this example, so no additional view object instances needed).

Create UI

Finally just create a simple Form Layout on a page, removing the JobId Attribute and ensuring the InputListOfValues Component for JobName.




Then update the following attributes for Salary resp. JobName Components:



Additionally, drag the CreateInsert Operation onto the page, to create a new record.

When running the app, and creating a new employee again tabbing through the form, we will see, there is no validation when tabbing out of the salary field (because the showRequired=true instead of mandatory=true).



When commit or navigation is triggered, the entity validation will fire, but because of the special validation attribute, we will see this on the single attribute instead of a FacesMessage.


This is especially helpful, if you are editing data inside a popup.


TL;DR / Result:

Please feel free to checkout a demo application implementing the shown at the german ADFCommunity github repository

https://github.com/ADFCommunityDE/DelayedAttributeValidationOnLookup.git

Any questions regarding this topic or want to see a feature/idea implemented in ADF? Just send me a message ;)

mail:     mke@team-pb.de
twitter:  @MarkusKlenke

Cheers!

2013-07-11

JDeveloper 12c als public download verfügbar

Der JDeveloper und ADF haben den Sprung auf den 12c Layer von Oracle geschafft. Wie anzunehmen finden wir hier zu großen Teilen ein Versionsmerging von Release 1 und Release 2 des JDeveloper 11g, aber auch einige weitere Feinheiten.

Details sowie ein Download kann unter:

http://www.oracle.com/technetwork/developer-tools/jdev/documentation/1212-nf-1964675.html

gefunden werden.

Viel Spaß beim ausprobieren!

2012-10-22

ADF Mobile Extension für JDeveloper 11.1.2.3

Oracle hat heute ADF Mobile veröffentlicht. ADF Mobile steht für Entwickler als Extension für den JDeveloper in der Version 11.1.2.3 zur Verfügung und kann über die Update-Funktion heruntergeladen werden. Der Download hat eine Größe von etwa 157 MB.

Im Gegensatz zu den bisherigen Möglichkeiten des Application Development Frameworks, mit denen lediglich eine optimierte Darstellung von ADF-Anwendungen in mobilen Browsern zur Verfügung gestellt werden konnte, ist es nun möglich mit Hilfe von ADF Mobile native Anwendungen für Geräte auf Basis von Android und iOS zu erstellen.

Kurz zusammengefasst hat Oracles ADF Mobile die folgenden Eigenschaften:

  • Es werden unterschiedliche Plattformen und Gerätetypen unterstützt: Android / iOS & Smartphone / Tablet. Dabei hat ADF Mobile den Vorteil, dass die Anwendung nur einmal implementiert werden muss. Das Deployment für die unterschiedlichen Geräte übernimmt die neue Extension.
  • Dem Programmierer kann sich zwischen verschiedenen Möglichkeiten entscheiden, das UI zu implementieren:
    • eine serverbasierte Darstellung über JSF
    • ein beliebiges HTML5-Framework wie JQuerry
    • Standard-Komponenten und eigene HTML5-Komponenten
  • Die Anwendungen haben Zugriff auf die Hardware der Geräte. So ist es möglich, dass eine ADF-Mobile Applikation die Kamera, GPS-Sensoren u.ä. nutzt.
  • In jeder ADF Mobile Anwendung wird eine eigene Java VM eingebettet. Dadurch kann die gesamte Anwendungslogik in der Applikation sogar unter iOS implementiert werden.
  • Durch die Verwendung von Java steht über JDBC auch eine problemlose Anbindung an Datenbanken zur Verfügung. ADF Mobile unterstützt hierbei auch SQLite und Verschlüsselung.
  • Jegliche Kommunikation und Datenspeicher können verschlüsselt werden.

Wer sich bereits einen ersten Eindruck verschaffen möchte, für den hat Shay Schmeltzer schon einen kurzen Beitrag in seinem Blog veröffentlicht: Developing with Oracle ADF Mobile and ADF Business Components Backend.

Viel Spaß beim Ausprobieren und Programmieren!!!

2011-12-15

HowTo: Set Default Run Target to TaskFlow Activity

Goal

Eine Fusion Web Application (ADF) soll innerhalb einer Applikation Workspace]  unabhängig vom selektierten Kontext per Tastatur gestartet werden.

Context

- JDeveloper 11gR2

- Fusion Web Application (ADF)

Solution

1

Choose: Run / Choose Active Run Configuration / Manage Run Configuration..

2

Select: Run Configuration / Default

Choose: Edit..

3

Deselect: Attempt to Run Active File Before Default

Select Default Run Target: ..\WEB-INF\adfc-config.xml [your task-flow file]

4

Choose: Launch Settings / ADF Task Flow

Select View Activity: home [your start page]

Choose: Ok

Choose: F11

2011-02-22

Team stellt Konferenz-Guide für die DOAG mit Oracle ADF zur Verfügung

Beginnend mit der letztjährigen DOAG Konferenz und Ausstellung hat die Firma TEAM eine, speziell auf das IPhone abgestimmte, Webapplikation erstellt, mit der sich die rund 2000 Teilnehmer vor Ort die aktuellsten Informationen rund um die Vorträge und die Ausstellung anzeigen lassen konnten.

 image

 

Neben einer Volltext- und Attributsuche über die mehr als 400 Vorträge konnten sich die Anwender ein eigenes Konferenz-Programm zusammenstellen und online die besuchten Vorträge mit einem Feedback versehen. Der komplette Ausstellerkatalog und ein Lageplan des Konferenzzentrum in Nürnberg rundeten diesen mobilen Konferenz Guide ab.

Der vollständige Lebenszyklus dieser Applikation, vom UseCase-Entwurf über die Schritte Prozessfluss-, Datenmodell und Implementierung bis hin zum Deployment auf dem Weblogic-Server ist mit der neuesten Version des JDeveloper 11g und dem enthaltenen Applikation Development Framework (ADF) erstellt.

Nach dem Erfolg dieser Applikation auf der DOAG Konferenz 2010 wird die DOAG diesen Service auch für die diesjährigen Konferenzen, beginnend mit der DOAG 2011 Applications zur Verfügung stellen. Neben der Unterstützung für das IPhone und IPad sollen in diesem Jahr auch andere Smartphone-Systeme (Blackberry, Android) zur Verfügung gestellt werden.

2010-09-02

JDeveloper 11g: Automatisches Erzeugung von von Javadoc-Tags

JDeveloper Version: 11.1.1.2.0

Einleitung

Mit JDeveloper 11g ist es sehr leicht möglich, fehlende Javadoc-Tags automatisch erzeugen zu lassen. Das ist eine große Hilfe für alle, die, so wie ich, die Javadoc-Tags bei der Entwicklung nur zu gerne vergessen.

Eigenschaften der Javadoc-Tags festlegen

Dies geschieht im Menüpunkt Tools –> Preferences unter dem Punkt Code Editor –> Java –> Javadoc. Wenn zum Beispiel festgelegt werden soll, dass in jedem Javadoc-Kommentar zu einer Klasse der Tag @author mit dem Namen des Entwicklers erscheinen soll, so muss folgendes eingegeben werden:

blog_jdev_1

Erzeugen eines neuen Audit-Profiles

Unter Tools –> Preferences muss im Punkt Audit –> Profiles ein Profil erstellt werden, welches unter anderem das Vorhandensein der als Required gekennzeichneten Javadoc-Tags prüft. Dafür wird zuerst das Profil Javadoc Rules gewählt und mit Save As eine Kopie davon unter einem neuen Namen gespeichert. In dem neuen Profil werden dann alle Regeln deaktiviert bis auf Javadoc Comments:

blog_jdev_2

Generieren der Javadoc-Tags

Das Erzeugen der Tags erfolgt über die Code-Audit-Funktion des JDeveloper. Die Funktion kann angewendet werden auf komplette Projekte, Packages oder beliebige Java-Klassen. In diesem Beispiel wird sie auf ein komplettes Projekt angewendet.

Dazu wird das Projekt im Navigator ausgewählt und dann der Punkt Build –> Audit gewählt.

blog_jdev_3

Im Log werden anschließend die gefundenen Probleme angezeigt:

blog_jdev_4

Nun werden alle fehlenden Javadoc-Tags ganz einfach erzeugt, indem das Projekt markiert und anschließend Rechte Maustaste –> Apply Default Fixes gewählt wird.

blog_jdev_5

Die automatisch erzeugten Javadoc-Tags sehen dann so aus:

blog_jdev_6

Ergänzen von fehlenden Punkten nach dem ersten Satz

Die Javadoc-Spezifikation schreibt vor, dass der erste Satz eines Kommentares zu einer Klasse, Methode usw. mit einem Punkt beendet wird. Auch dies kann, nachdem die Kommentare erfasst wurden, mit dem neuen Profil geprüft und fehlende Punkte automatisch ergänzt werden.

blog_jdev_7

Fazit

Auch wenn das automatische Generieren der Javadoc-Tags im JDeveloper ein wenig versteckt und nicht direkt aus dem Menü heraus erreichbar ist, so ist es doch sehr hilfreich und entlastet den Entwickler während der eigentlichen Programmierung ungemein.

2010-06-02

Generieren von OMB Scripten mit dem JDeveloper

Neue Funktion

Ab JDeveloper 11g (11.1.1.3.0) gibt es die Möglichkeit direkt über das Kontextmenu zu einer Offline-Tabelle das entsprechende OWB – Script für den Oracle Warehouse Builder zu generieren.

Ist das der Anfang der Integration des OWB in den JDeveloper ?

 

1

2010-04-27

JDeveloper Patchset 11.1.1.3.0 verfügbar !

Das neue JDeveloper Patchset ist heute bereitgestellt worden. Als Bugfix Release gedacht beinhaltet es nach dem ersten Blick, die schon auf der OOW 09 zu sehenden Erweiterungen des ADF Mobile Frameworks.

Release Notes 1

Whats New


Oracle Mobile Client (Preview) muß über “Check for Updates” installiert werden.
Wenn Zeit bleibt sollte ich mal mein altes Windows Mobile 5 Smartphone aktivieren und einen Testdrive ADF Mobile starten.

2010-02-26

ADF News Session - Deployment von ADF Applikationen

heute morgen fand die zweite ADF News Session zum Thema "Deployment von ADF Applikationen auf den WebLogic Server" statt.

image

Inhalt

  • Installation und Konfiguration einer ADF-Domäne
  • Vorbereitung Deployment
    • Datenquelle
    • Security
    • MDS-Registry
  • Überblick und Diskussion Deploymentverfahren
    • JDeveloper: WLS-Connection
    • Web: Admin Console/Enterprise Manager
    • Script: Ant / WLST
  • Best Practices / Automatisierung

Download der Präsentation als PDF

Diskussion im OTN-Forum

Weitere Informationen zu den ADF News Session gibt es unter http://www.oracle.com/global/de/community/adf/documents/ADF%20News%20Sessions.pdf.

2010-01-11

JDeveloper 11g: Nützliche IDE-Features zur Produktivitätssteigerung

JDeveloper Version: 11.1.1.2.0

Einleitung

Es gibt einige nützliche Funktionen der JDeveloper IDE, welche nicht unmittelbar erkennbar sind, da sie nicht über das Menü, sondern lediglich über Shortcuts erreichbar sind. Sie sind jedoch meines Erachtens nützlich, um Zeit zu sparen und somit die Produktivität bei der Entwicklung/Programmierung zu steigern. In diesem kurzen Beitrag möchte ich einige dieser “versteckten Funktionen” aufzeigen.

Tag-Documentation (Press Ctrl-D on a Tag)

1

Javadoc-Documentation (Press Ctrl-D on a class or method in java source code)

2

Javadoc-Documentation (Press Alt and Mouse Over on a class or method in java source code)

3

Quick Source View (Shift+ Mouse Over Sourcefiles in Application navigator)

4

Quick View in Sourcecode Mode (Ctrl+Mouse Over on right indicator bar)

5

Selbstverständlich funktioniert dieses Feature auch im Java Sourcecode.

6

Block Coloring (available through toolbar)

7

Quick Preview in Taskflow (Shift+Mouse Over view-activity)

8

Quick file switch (Strg+TAB)

9

Go to Java Type (Ctrl+-)

10

Alternativ sollte das Such-Eingabefeld oben rechts in der IDE benutzt werden:

11

Quick Outline/Method navigation (Ctrl+Shift+O)

12

Customize and explore

Natürlich lassen sich die Shortcuts den eigenen Bedürfnissen anpassen. Siehe Preferences>Shortcut keys

13

Außerdem ist es eine gute Gelegenheit, um neue Funktionen, die evtl. nur über Shortcuts erreichbar sind, zu entdecken. So ist es mit z.B. im Code-Editor Ctrl+Shift+Y ergangen. Dabei wird von der aktuellen Cursor-Position der Rest der Zeile gelöscht.

Observation

Die JDeveloper 11g IDE hat viele tolle Features!. Wenn ich dem Produktteam jedoch noch einige Wünsche mitgeben dürfte, dann wären dies:

  • Ctrl+D: Löschen der aktuellen Zeile
  • Alt+Arrow Up/Down: Verschieben der aktuellen Zeile/des aktuellen Blocks.

2009-11-18

DOAG09 – Vortrag: Praxisbericht Oracle JDeveloper 11g ADF Rich Client Entwicklung

Für alle die in meinem Vortrag waren und die Version der Präsentation haben wollen, die ich auch gezeigt habe :), können 1diese über diesen Link downloaden.

Sollten der eine oder andere Anregungen oder Fragen haben im Vortrag finden Sie meine EMail – Adresse. Ich erhalte gerne Feedback :)

2009-11-17

DOAG09 öffnet die Türen

1Jetzt ist es so weit. Wie jedes Jahr im November trifft sich die Deutsche Oracle Community in Nürnberg.
Folgende Vorträge behandeln Oracle ADF am heutigen Tag:
Von Forms zu ADF in der realen Welt – ein kritischer Dialog
Torsten von Osten, Sven Tissot – pdv Tas GmbH
Praxisbericht Oracle JDeveloper 11g  ADF Rich-Client-Entwicklung
Ulrich Gerkmann-Bartels, Team GmbH
Modell-getriebene Migration von Forms-Anwendungen nach Oracle ADF
Jürgen Menge, Oracle Deutschland
Deployment von Oracle ADF-Applikationen auf den Oracle WebLogic Server
Andreas Koop, Team GmbH

Unsere Vorträge findet Ihr bald hier in einem separaten Eintrag.

2009-10-28

ORACLE – SUN: What will happen to NetBeans, Glassfish..

Oracle hat sein FAQ Dokumente bzgl. des Sun Produktportfolio aktualisiert und macht nun auch einige Aussagen zu 1NetBeans und Glassfish.

Entscheidender Punkt aus Sicht von Oracle ADF und Oracle JDeveloper ist folgender Abschnitt:

“While Oracle JDeveloper remains Oracle’s strategic development tool for the broad portfolio of Oracle Fusion Middleware products and for Oracle’s next generation of enterprise applications, developers will be able to use whichever free tool they are most comfortable with for pure Java and Java EE development: JDeveloper, Enterprise Pack for Eclipse, or NetBeans.”

Damit wiederholt Oracle die Aussage, dass Oracle JDeveloper das strategische Entwicklungstool für Oracle Fusion Middleware und für Oracle Fusion Applications ist.

Das FAQ – Dokument kann man hier abrufen.

2009-10-15

TELDE – Installation Oracle JDeveloper (Teil 19)

Anforderung

Auf dem TELDE – Server wird das gleiche Build – Environment mit den entsprechenden Bibliotheken und Tools benötigt wie auf den einzelnen Entwicklungsrechner. Dies vereinfacht die Verwendung von Scripten und Umgebungen. Insbesondere wenn die gleiche Verzeichnisstrukturen verwendet werden. Zu dem kann TELDE auch als Entwicklungsrechner verwendet werden.1

Lösung

  1. Installation Oracle JDeveloper

Komponenten

  Bereich Komponente
  TELDE OES, WebLogic Server
  Oracle JDeveloper Download

Umsetzung

Bereich Gegenstand
Xming Action: Xming starten
   
Putty Action: Start Putty
  Action: Open Save Session telde.local als oracle
   
Install JDeveloper

login as: oracle
oracle@192.168.234.140's password:
Last login: Mon Aug  3 21:47:45 2009 from 192.168.234.1

[oracle@telde ~]$ cd /u01/product/oracle/middleware/11.1.1/jdev/software/
[oracle@telde software]$ chmod +x jdevstudio11111install.bin
[oracle@telde software]$ ./jdevstudio11111install.bin
Extracting 0%....................................................................................................100%

  2 
Choose: Next
  3

Select: Use an existing Middleware Home

Choose: Next

  4
  Choose: Next
  5
  Choose: Next
  6
  Choose: Next
  7
  Choose: Next
8
  Deselect: Run Quickstart
  Choose: Done
   
JDeveloper Linux Configuration

[oracle@telde ~]$ . ./setFusionDomainEnv.sh

Aktuelle Oracle Umgebung:
WLS Domain: fusion_domain
[oracle@telde fusion_domain]$ cd $MV_HOME/jdk160_11/                            [oracle@telde jdk160_11]$ mv jre/lib/im
im/     images/
[oracle@telde jdk160_11]$ mv jre/lib/images/cursors jre/lib/images/jre_cursors
mv: cannot stat `jre/lib/images/cursors': No such file or directory
[oracle@telde jdk160_11]$ tar xvpf $MV_HOME/jdeveloper/jdev/bin/clear_cursors.tar
jre/
jre/lib/
jre/lib/images/
jre/lib/images/cursors/
jre/lib/images/cursors/clear_CopyDrop32x32.gif
jre/lib/images/cursors/clear_CopyNoDrop32x32.gif
jre/lib/images/cursors/clear_invalid32x32.gif
jre/lib/images/cursors/clear_LinkDrop32x32.gif
jre/lib/images/cursors/clear_LinkNoDrop32x32.gif
jre/lib/images/cursors/clear_MoveDrop32x32.gif
jre/lib/images/cursors/clear_MoveNoDrop32x32.gif
jre/lib/images/cursors/cursors.properties

Starting JDeveloper  

[oracle@telde jdk160_11]$ $MV_HOME/jdeveloper/jdev/bin/jdev

Oracle JDeveloper 11g 11.1.1.1.0
Copyright (c) 1997, 2009, Oracle and/or its affiliates.All rights reserved.

  9
  Deselect: Always prompt for role selection on startup
Choose: Ok

[Nach dem erfolgreichen Start kann der JDeveloper wieder beendet werden]
   
GNOME Laucher konfigurieren 10
  Action: Login als Benutzer oracle in der GNOME Oberfläche
  11
  Action: Rechte Maus-Taste / Create Laucher…
  12
  Input Name: JDev 11.1.1.1.0
  Choose Command: Browse
  13
  Select File: /u01/app/oracle/product/11.1.1/middleware/jdeveloper/jdev/bin/jdev
  Choose: Open
  Choose: No Icon
  14
  Input Location:  /u01/app/oracle/product/11.1.1/middleware/jdeveloper/jdev/bin/jdev
  15
  Select: coffee.png
  Choose: Ok
  Choose: Ok
   
Test Action: Doppel Click auf das Symbol JDev 11.1.1.1.0
   

 

Anmerkung

Keine…