J'ai un processus dotnet qui, via des appels à une DLL non gérée, communique avec un processus Java.Est-ce probable que les domaines d'application aideront dans ce scénario?
Dans certaines circonstances, le processus Java semble se bloquer et entraîner mon processus dotnet avec lui. Aucune exception n'est soulevée, le processus meurt juste. Lors de l'écrasement, java crée un fichier journal avec des noms comme "hs_err_pid3228" etc.
N'ayant reçu aucune satisfaction du fournisseur qui fournit la DLL non managée et le processus Java, je suis réduit à essayer d'atténuer le problème nécessiterait d'assurer les appels dans le processus Java, s'ils tombent en panne, ne pas arrêter mon processus. Après avoir lu divers articles, appdomains semblent un candidat probable à utiliser - ma théorie étant que je peux avec un peu de travail séparer mes fonctionnalités qui appelle le processus Java et l'exécuter dans un domaine distinct, ce qui, je l'espère, me permettra si pas attraper l'appdomain en descendant, au moins détecter que cela s'est produit et redémarrer cette fonctionnalité.
Quelqu'un a-t-il eu un problème similaire? Cette approche semble-t-elle raisonnable à ceux d'entre vous qui ont plus d'expérience de l'appdomain?
Pour le rendre encore plus amusant, le crash Java est pas vraiment reproductible - il semble très aléatoire et je suis toujours aux prises avec la façon dont je vais test qui sépare dans le appdomain
Merci - c'est rassurant que cela vaut la peine d'essayer. Maintenant, je dois juste convaincre la direction de m'attribuer le temps de rassembler au moins une preuve de concept. – user50380