0
Id (int)
및 Url (String)
으로 구성된 클래스 문서가 있습니다. 기본 색인은 Id
이고 보조 색인은 Url
입니다. 나는 또한 ID 자동 증분 시퀀스를 갖고 싶다. 따라서 SecondaryDatabase를 만든 다음 Sequence를 만듭니다.Berkeley DB JE Base API 관련 문제 보조 데이터베이스 및 시퀀스
Exception in thread "main" java.lang.IllegalArgumentException
at com.sleepycat.util.UtfOps.getCharLength(UtfOps.java:137)
at com.sleepycat.util.UtfOps.bytesToString(UtfOps.java:259)
at com.sleepycat.bind.tuple.TupleInput.readString(TupleInput.java:152)
at pl.edu.mimuw.zbd.berkeley.zadanie.rozwiazanie.MyDocumentBiding.entryToObject(MyDocumentBiding.java:12)
at pl.edu.mimuw.zbd.berkeley.zadanie.rozwiazanie.MyDocumentBiding.entryToObject(MyDocumentBiding.java:1)
at com.sleepycat.bind.tuple.TupleBinding.entryToObject(TupleBinding.java:76)
at pl.edu.mimuw.zbd.berkeley.zadanie.rozwiazanie.UrlKeyCreator.createSecondaryKey(UrlKeyCreator.java:20)
at com.sleepycat.je.SecondaryDatabase.updateSecondary(SecondaryDatabase.java:835)
at com.sleepycat.je.SecondaryTrigger.databaseUpdated(SecondaryTrigger.java:42)
at com.sleepycat.je.Database.notifyTriggers(Database.java:2004)
at com.sleepycat.je.Cursor.putNotify(Cursor.java:1692)
at com.sleepycat.je.Cursor.putInternal(Cursor.java:1616)
at com.sleepycat.je.Cursor.putNoOverwrite(Cursor.java:663)
at com.sleepycat.je.Sequence.<init>(Sequence.java:188)
at com.sleepycat.je.Database.openSequence(Database.java:546)
at pl.edu.mimuw.zbd.berkeley.zadanie.rozwiazanie.MyFullTextSearchEngine.init(MyFullTextSearchEngine.java:131)
at pl.edu.mimuw.zbd.berkeley.zadanie.testy.MyFullTextSearchEngineTest.main(MyFullTextSearchEngineTest.java:18)
시퀀스의 초기화 동안 보조 데이터베이스 업데이트 강제 것으로 보인다 : 시퀀스의 초기화 동안 나는 예외를 얻을. MyDocumentBiding의 entryToObject 메소드를 디버깅 할 때 객체로 변환하려고 시도하는 바이트가 무작위로 보입니다.
내가 뭘 잘못하고 있니?