<div dir="ltr"><div><div><div><div>Helló,<br><br></div> Gondolom ezt is Te kérdezted: <a href="http://stackoverflow.com/questions/24838772/how-to-call-c-c-asynchronous-callback-in-dll-from-java" target="_blank">http://stackoverflow.com/questions/24838772/how-to-call-c-c-asynchronous-callback-in-dll-from-java</a><br>
</div>Ez alapján nekem úgy tűnik, hogy előtte be kell regisztrálni a callback-et INFA_LMRegisterCallback hívással. Azt meg elméletileg JNA-val nem bonyolult.<br><br></div>Üdv<br></div> Zs<br><div><div><pre class=""><code><br>
</code></pre>
</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-07-19 9:34 GMT+02:00 Molnár Miklós <span dir="ltr">&lt;<a href="mailto:timortin@gmail.com" target="_blank">timortin@gmail.com</a>&gt;</span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Sziasztok,<br><br>A tárgybeli (nekem nagyon nehéz) cuccot dobta a gép/sors. Nagyon szeretném megoldani, ha bárki, bármivel tudna segíteni, nagy örömet szerezne.<br>

<br></div>Az előzmény/sztori a következő:<br></div><br>* Informatica aranyárban mért ETL-szörnyeteget kellene működése közben monitoroznom (custom programmal). <br><br>* Ez C/C++-ból triviális (készen van, ha csökevényesen is), de JAVA-ból kellene valami framework-szerűséget csinálni.<br>

</div><br>* Az Informatica Server a Workflow-k, Task-ok végrehajtásáról értelemszerűen egy részletes event-színtű log-ot generál.<br></div><br>* Ehhez hivatalos publikus interface-n keresztül hozzá lehet férni: úgy hívják Informatica Development Platform.<br>

</div><br>* Adnak egy rakat dll-t (lib), és egy nagyon szűkkeblűen mért (értelmezésemben gyakorlatilag használhatatlan) doksit.<br></div><br>* A gyári dll-ekhez hivatalosan C/C++-on és JAVA-n keresztül lehet hozzáférni (csak a szűkebb JAVA-hoz van javadoc, a bővebb C/C++-hoz semmi nincs).<br>

</div><br>* A JAVA-s hozzáférést úgy oldották meg igen trükkösen, hogy a C/C++ DLL-ek jelentősen szűkített hívását becsomagolták egy JavaLMApi.dll-be (azaz számomra nem hozzáférhető). Majd erre JavaLMApi.dll használatra írtak triviális JAVA-osztályokat (ami ugye hiába nem obfuszkáltak).<br>

</div><br>* Na most - hát persze hogy - nekem olyan aszinkron callback (INFA_LMMonitorServerA) kéne a C/C++ pmlmapi.dll-ből, amit C/C++-ból könnyen lehet használni, de mivel a JAVA-oldalra nincs kivezetve, azaz közvetlenül kéne a C++ DLL-ből használnom JAVA-ban. <br>

<br>A header-ben ez van a kérdéses aszinkron callback-re.<br>PMLM_API_EXTSPEC INFA_API_STATUS<br>INFA_LMMonitorServerA( INFA_UINT32 connectionId,<br>                       struct INFA_LMAPI_MONITOR_SERVER_REQUEST_PARAMS *request,<br>

                       void *clientContext,<br>                       INFA_UINT32 *requestId<br>                     );<br><br></div>Ami megvan, hogy JNA/JNI-vel hogyan tudom használni a kérdéses dll-t.Ami nincs meg az a naplózó aszinkron callback működésre bírása. Egyébként már az sokat segítene, ha annyi kiderülne mission impossible-e amit akarok. ;) Szerintem (érzésre) nem, de mit lehet tudni.<span class="HOEnZb"><font color="#888888"><br>

<br></font></span></div><span class="HOEnZb"><font color="#888888"><div>MM<br></div></font></span><div><br></div>PS: Egyébként meg azt gondolom szégyellje magát az Informatica, hogy rettenet mennyiségű pénzért cserébe, ilyen dokumentálatlan, félig implementált szutyokkal szúrja ki felhasználói szemét. ;)<br>

</div>
<br>_______________________________________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
<br></blockquote></div><br></div>