Я собираюсь сделать некоторые выводы здесь без дополнительной информации. Во-первых, ошибка указывает на то, что вы используете функцию, доступную только в Lotus Notes / Domino 8.5. Учитывая, что ошибка говорит «не реализовано», я предполагаю, что вы используете Notes.jar / NCSO.jar, который не реализует getAllUnreadEntries. Я подозреваю, что эта проблема скорее экологическая, чем ваша логика.
Убедитесь, что ваши jar-файлы, импортированные в ваш проект, взяты из Domino 8.5. Более ранние версии Java API Domino не поддерживают "getAllUnreadEntries".
Лучший способ убедиться в этом - найти и скопировать файлы jar, которые установлены (по умолчанию) в клиенте Lotus Notes (находится в каталоге notes \ jvm \ lib \ ext). Кроме того, убедитесь, что файлы JAR, с которыми вы компилируете, соответствуют версии, с которой вы работаете. Итак, если вы разработали это с помощью jar Notes 8.5, и он работает на Domino 7 или 8.0 на сервере или клиенте, среда выполнения выдаст ошибку, пытаясь запустить метод, который не существует. Вам нужно убедиться, что он работает на 8.5.
Вот пример java-агента, извлеченного из справки Domino Designer, который обращается к непрочитанным записям в представлении.
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// (Your code goes here)
Database db = agentContext.getCurrentDatabase();
View view = db.getView("All");
ViewEntryCollection vec = view.getAllUnreadEntries();
System.out.println("View has " +
vec.getCount() + " unread entries");
view.markAllRead();
view.refresh();
vec = view.getAllUnreadDocuments();
System.out.println("View has " +
vec.getCount() + " unread entries after markAllRead");
} catch(Exception e) {
e.printStackTrace();
}
}
}
Это может не совсем отражать то, что вы пытаетесь сделать, потому что он использует «AgentBase» для агента Java. Но все, что в заявлении try, применимо. Похоже, вы работаете вне агента Notes.
Вы можете написать любой класс, который использует Domino-Java API, убедившись, что Notes.jar и NCSO.jar находятся в вашем пути к классам, и проверьте, какой импорт фактически используется. Если вы не делаете удаленных вызовов , вы можете просто использовать lotus.domino. *, А не lotus.domino.cso. *.