2017-02-08 2 views
0

J'ai créé un fournisseur simple webservice dans Domino, il ressemble à ceci:fournisseur de Webservice dans Domino pointes CPU et la cause état de verrouillage sémaphores

Public Class Integration 

    Sub New 
     Set session = New NotesSession 
     Set db = session.CurrentDatabase 
    End Sub 

    Public Function importA() 
     importA = getData() 
    End Function 

End Class 

Nous avons créé un consommateur webservice externe qui utilise des fonctions dans le fournisseur à la fois obtenir et envoyer des données. Mon problème est que lors de l'envoi ou de la réception de fichiers xml (d'une taille d'environ 2 Mo), le Domino pointe à 100% et la console Domino indique parfois des états de verrouillage de sémaphore. le chargement ou l'envoi du fichier XML prend environ 11 minutes. Lors de la réception de fichiers xml, nous les obtenons comme un paramètre de chaîne dans la fonction, lorsque nous envoyons des fichiers xml, nous les envoyons en tant que chaîne à partir de la fonction.

Quelle pourrait être la cause de ce retard et verrouiller sur le serveur domino?

Nous fonctionnons sur un LAN local et n'avons aucun problème de connexion à Internet. Le serveur Domino n'est pas occupé à effectuer d'autres tâches.

+0

Cela ressemble à un problème pour le soutien d'IBM. –

Répondre

1

Il y a quelques conseils que vous pourriez vouloir regarder:

  • Un webservice doit aller et envoyer XML, pas des chaînes qui ressemblent à XML. Vous pouvez créer une description WSDL correcte correspondant à votre structure XML. Cela va accélérer le traitement un peu. Utilisez le SAX pour écrire le XML.
  • Verse (et FP8) grandement améliorée sur les serrures Semaphore, qui pourraient aussi aider (l'amélioration fait partie des correctifs publiés pour Verse, et sera en FP8 aussi)
  • Lorsque vous créez votre chaîne 2MB ... faire vous utilisez une concaténation de chaînes ou un flux Notes. Le flux serait beaucoup préférable
  • Enfin, vous voudrez peut-être essayer de réécrire le code en Java - mieux à profiler. Utilisez SAX pour write the document ou utiliser my helper class

espoir qui aide

+0

merci. J'ai abandonné le webservice et à la place j'ai sauvegardé les fichiers xml dans notesdocuments à partir d'une demande de publication. Plus vite. –