Abstract
The transient keyword of the Java™ programming language was originally introduced to prevent specific class fields from being stored by a persistence mechanism. In the context of orthogonal persistence, this is a particularly useful feature, since it allows the developer to easily deal with state that is external to the system. Such state is inherently transient and should not be stored, but instead re-created when necessary. Unfortunately, the Java Language Specification does not accurately define the semantics and correct usage of the transient keyword. This has left it open to misinterpretation by third parties and its current meaning is tied to the popular Java Object Serialisation mechanism. In this paper we explain why the currently widely-accepted use of the transient keyword is not appropriate in the context of orthogonal persistence, we present a more detailed definition for it, and we show how the handling of transient fields can be efficiently implemented in an orthogonally per- sistent system, while preserving the desired semantics.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. Arnold and J. Gosling. The Java Programming Language. Addison-Wesley, 1996. 130
M. P. Atkinson, K. J. Chisholm, and W. P. Cockshott. PS-algol: an Algol with a Persistent Heap. ACM SIGPLAN Notices, 17(7):24–31, July 1982. 133
M. P. Atkinson, L. Daynès, M. J. Jordan, T. Printezis, and S. Spence. An Orthogonally Persistent Java. SIGMOD Record (ACM Special Interest Group on Management of Data), 25(4):68–75, December 1996. 129, 130, 131
M. P. Atkinson and M. J. Jordan. Issues Raised by Three Years of Developing P Jama: An Orthogonally Persistent Platform for JavaTM. In Proceedings of ICDT’99, Jerusalem, Israel, January 1999. 130, 131
M. P. Atkinson, M. J. Jordan, L. Daynés, and S. Spence. Design Issues for Persistent Java: a Type-Safe Object-Oriented Orthogonally Persistent System. In Proceedings of POS’7, Cape May, New Jersey, USA, May 1996. 129, 130, 131
M. P. Atkinson and R. Morrison. Orthogonal Persistent Object Systems. VLDB Journal, 4(3), 1995. 130
M. P. Atkinson and R. C. Welland, editors. Fully Integrated Data Environments. Springer-Verlag, 1999. 150
R. G. G. Cattell, editor. The Object Database Standard: ODMG 2.0. Morgan Kaufmann Publishers, 1997. 131
L. Daynès and M. P. Atkinson. Main-Memory Management to support Orthogonal Persistence for Java. In Proceedings of the Second International Workshop on Persistence and Java (PJW2), Half Moon Bay, CA, USA, August 1997. 133, 145
H. Evans. Why Object Serialization is Inappropriate for Providing Persistence in Java. Technical report, Department of Computing Science, University of Glasgow, Scotland, 2000. In Preparation. 137, 144
M. J. Feeley, W. E. Morgan, F. H. Pighin, A. R. Karlin, and H. M. Levy. Implementing Global Memory Management in a Workstation Cluster. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP-15), pages 201–212, Copper Mountain Resort, CO, USA, December 1995. ACM Press. 144
GemStone Systems Inc. GemStone/JTM Administration for Unix, March 1998. Version 1.1. 142
GemStone Systems Inc. GemStone/JTM Programming Guide, March 1998. Version 1.1. 131, 132, 142
J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, 1996. 129, 130, 133, 136, 137, 138, 140, 142
ISO. Working Paper for Draft Proposed International Standard for Information Systems — Programming Language C++, 1998. ISO/IEC 14882-1998. 133
R. E. Jones. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. John Wiley & Sons, Ltd, 1996. With a chapter on Distributed Garbage Collection by R. Lins. 145
D. Jordan. Serialisation is not a database substitute. JavaTM Report, pages 68–79, July 1999. 137
M. J. Jordan. Early Experiences with Persistent Java. In Proceedings of the First International Workshop on Persistence and Java (PJW1), Drymen, Scotland, September 1996. 131
M. J. Jordan and M. P. Atkinson. Orthogonal Persistence for Java — A Mid-term Report. In Proceedings of the Third International Workshop on Persistence and Java (PJW3), pages 335–352, Tiburon, California, September 1998. 130, 131, 137, 139
M. J. Jordan and M. P. Atkinson, editors. Orthogonal Persistence for the JavaTM Platform — Draft Specification. Technical report, Sun Microsystems Inc, 1999. 131, 142
R. Morrison, R. C. H. Connor, Q. Cutts, G. N. C. Kirby, D. S. Munro, and M. P. Atkinson. The Napier88 Persistent Programming Language and Environment. In Atkinson and Welland [7], chapter 1.1.3, pages 98–154. 133
T. Printezis. Orthogonal Persistence: The Future for Storing Objects? In Proceedings of the Practical Applications for Java Conference 1999 (PAJava’99), pages 5–17, London, UK, April 1999. Invited Paper. 130
T. Printezis. The Sphere User’s Guide. Technical Report TR-1999-47, Department of Computing Science, University of Glasgow, Scotland, July 1999. 145
T. Printezis and M. P. Atkinson. An Efficient Object Promotion Algorithm for Persistent Object Systems, 2000. Accepted for publication at Software — Practiceand Experience. 145
T. Printezis, M. P. Atkinson, and L. Daynès. The Implementation of Sphere: a Scalable, Flexible, and Extensible Persistent Object Store. Technical Report TR-1998-46, Department of Computing Science, University of Glasgow, Scotland, May 1998. 145
T. Printezis, M. P. Atkinson, L. Daynès, S. Spence, and P. J. Bailey. The Design of a new Persistent Object Store for PJama. In Proceedings of the Second International Workshop on Persistence and Java (PJW2), Half Moon Bay, CA, USA, August 1997. Published as SunLabs Technical Report TR-97-63. 133, 145
T. Printezis, M. P. Atkinson, L. Daynès, S. Spence, and P. J. Bailey. The Design of Sphere: a Scalable, Flexible, and Extensible Persistent Object Store. Technical Report TR-1997-45, Department of Computing Science, University of Glasgow, Scotland, August 1997. 145
J. V. E. Ridgway, C. Thrall, and J. C. Wileden. Towards Assessing Approaches to Persistence for Java. In Proceedings of the Second International Workshop on Persistence and Java (PJW2), Half Moon Bay, CA, USA, August 1997. 133
S. Spence. Persistent RMI. Department of Computing Science, University of Glasgow, Scotland, March 1998. 141, 144
Sun Microsystems Inc. JavaBeansTM, July 1997. Version 1.01. 137
Sun Microsystems Inc. JavaSpacesTM Specification, July 1998. Revision 1.0 Beta. 137
Sun Microsystems Inc. JavaTM Object Serialization Specification — JDK. 1.2, November 1998. Revision 1.43. 129, 131, 136, 137, 139
Sun Microsystems Inc. JavaTM Platform 1.2 Core API Specification, 1998. 129, 133, 136, 137, 138, 139
Sun Microsystems Inc. JavaTM Remote Method Invocation Specification, October 1998. Revision 1.5. 136
Sun Microsystems Inc and The University of Glasgow. PJama API, 1998. Release 0.5.7.13. 131, 141
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Printezis, T., Atkinson, M.P., Jordan, M. (2000). Defining and Handling Transient Fields in PJama. In: Connor, R., Mendelzon, A. (eds) Research Issues in Structured and Semistructured Database Programming. DBPL 1999. Lecture Notes in Computer Science, vol 1949. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44543-9_9
Download citation
DOI: https://doi.org/10.1007/3-540-44543-9_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41481-0
Online ISBN: 978-3-540-44543-2
eBook Packages: Springer Book Archive