Я смотрел пример, опубликованный на OpenNTF - http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=Threads%20and%20Jobs. Моя проблема заключается в том, что я не могу ссылаться на другой класс, который находится за пределами основного класса, который создает исходный поток.Xpage Темы - не доступны для доступа к другим классам
Это код, который я пытаюсь использовать на основе демонстрационного кода (который отлично работает BTW). Я пробовал разные варианты, включая попытку вызвать класс Broadcast внутри внутреннего класса и, как в этом случае, из внешнего класс. Во всех случаях я получаю ClassNotFoundException - NB, класс Broadcast находится в том же пакете, что и ThreadSample.
public class ThreadSample {
private MyThread myThread;
public boolean isRunning() {
return myThread != null;
}
public void startThread()
throws NotesException {
if (myThread != null) {
stopThread();
}
try {
{
if (myThread == null) {
myThread = new MyThread();
myThread.start();
}
System.out.println("Thread started");
}
} catch (Throwable t) {
t.printStackTrace();
}
}
public void stopThread() {
if (myThread != null) {
synchronized (ThreadSample.class) {
if (myThread != null) {
myThread.stopRequest = true;
myThread = null;
System.out.println(" >> Thread stopping");
}
}
}
}
public void test(){
System.out.println("HERE in Test");
Broadcast.test_subscribe();
}
class MyThread extends Thread {
boolean stopRequest;
private ThreadSessionExecutor<IStatus> executor;
MyThread() throws NotesException {
this.executor = new ThreadSessionExecutor<IStatus>() {
@Override
protected IStatus run(Session session) throws NotesException {
try {
System.out.println(" >> Thread running here");
ThreadSample.this.test_subscribe();
System.out.println(" >> After test call");
} catch (Throwable ex) {
ex.printStackTrace();
}
return Status.OK_STATUS;
}
};
}
public void run() {
while (!stopRequest) {
try {
executor.run();
} catch (Exception ex) {
}
}
System.out.println("Thread left");
}
}
}
Благодаря Philippe я буду стараться и развернуть его как плагин и посмотреть, как она идет. – markbarton
У вас есть ссылка на создание и развертывание плагина, который не для UIComponent. Я посмотрел на эти учебники здесь: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Creating_an_XPages_Library, но они предназначены для компонент пользовательского интерфейса. Это то же самое для чистого плагина на основе кода? – markbarton
Проверьте комплект стартового пульта XSP: http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=XSP%20Starter%20Kit –